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

Jake Petroules Jake.Petroules at qt.io
Thu Sep 8 18:16:21 CEST 2016

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.

Whereas Qbs has sophisticated support exactly for this case: https://github.com/qt-labs/qbs/tree/master/share/qbs/modules/java, made possible by its dynamic build graph.

On Sep 8, 2016, at 6:52 AM, Bo Thorsen <bo at vikingsoft.eu<mailto:bo at vikingsoft.eu>> wrote:

Den 08-09-2016 kl. 14:19 skrev Konstantin Tokarev:
> The only problem is that you have to run moc on each of the .h files.
Run moc from inside script when you generate header.

Yes, I thought about that at the time as well. While simple enpough, there are some complications. You would have to run moc exactly like if it was done by the qmake built makefiles, with exactly the same environment and arguments. Not impossible, but it does sound brittle. For example different qmake versions might do things differently.

Bo Thorsen,
Director, Viking Software.

Viking Software
Qt and C++ developers for hire
Development mailing list
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/20160908/fa5b7bc1/attachment.html>

More information about the Development mailing list