From Qt Wiki
This roughly covers the session itself and some even less formal face-to-face talks during the summit. At the session titled 'Build System' two use cases of "Building Qt itself" and "Building applications using Qt Creator" were primarily discussed. The case of building Qt applications from the command line was discussed but not emphasized. For "Building Qt itself" it was noted that –
- qmake can build Qt 5 now,
- even if it is not nice, it is there and works,
- there is no need to change anything for the sake of change only,
- people do not care much about the process as long as builds Qt.
- qmake is difficult to control due to its imperative nature,
- cmake started its life imperative, mixed in declarative constructs for KDE.
- qmake does not do project configuration (easily),
- qmake does not cover the actual building (delegated to make/nmake),
- qmake does not handle deployment/packaging (easily),
- qmake does not offer cheap "null builds",
- qmake can only parallelize build to the degree the make/nmake/ib does it,
- an existing build system called 'incredible' can parallelize builds but is not portable.
- cmake basically shares all these shortcomings with notable exceptions of configuration.
- while logic from a new build system could be shared across a CLI tool and a IDE (by a common library) the IDE would actively run the logic while a CLI tool explicitly on demand only.
- there were a lot of Qt Creator developers in the room, leading to the sense that work towards any new build system would probably need to be geared at an IDE.
- one development strategy for a new build system would involve abstracting code into a library which could be integrated into a command line tool as well.