[Development] Notes on "Qt Build Systems" @ QtCon 2016

Jake Petroules Jake.Petroules at qt.io
Sat Sep 10 00:44:34 CEST 2016

On Sep 9, 2016, at 4:39 AM, Kevin Kofler <kevin.kofler at chello.at<mailto:kevin.kofler at chello.at>> wrote:

Jake Petroules wrote:
Another thing that's very hard to do in other build systems is building
Java code. The class files emitted by a Java compiler actually vary
depending on the contents of the Java files themselves.

Imagine you've built a JAR file, and then you add a new anonymous inner
class within one of your Java source files. The command line invocation to
build the JAR file needs to be updated to contain the new class file that
will result. Impossible with qmake/CMake/Makefiles/etc.

Well, what you can do if you have a lot of Java stuff to build is to just
shell out to Ant. That's how Qt Jambi does it, for example. Use the right
tool for the job.

CMake has some support for building Java, but indeed, it does not
automatically figure out the outputs of each .java file for you. Dedicated
Java build systems are much better at that.

Last I checked, "dedicated" Java build systems (like Ant) don't even handle that case. Maybe I'm wrong but as far as I'm aware, the Java support in Qbs with regard to dependency tracking is superior to anything else out there except perhaps Buck. And no one would call that a "dedicated Java build system".

       Kevin Kofler

Development mailing list
Development at qt-project.org<mailto:Development at qt-project.org>

Jake Petroules - jake.petroules at qt.io<mailto:jake.petroules at qt.io>
Consulting Services Engineer - The Qt Company
Qbs build tool evangelist - qbs.io<http://qbs.io>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/development/attachments/20160909/4571e91e/attachment.html>

More information about the Development mailing list