[Development] Proposing CMake as build tool for Qt 6
Michael Winkelmann
michael.winkelmann at qt.io
Thu Jun 6 19:19:41 CEST 2019
Awesome news!
Any ideas/plans for WebAssembly?
On 06.06.19 13:45, Simon Hausmann wrote:
> Hi,
>
> In the past months we, some developers from the Qt Company and KDAB,
> have made good progress on the port of Qt to use CMake as build tool.
> Since the initial prototype, the port has advanced very well and its
> current state can be summarized roughly like this:
>
> * Builds on
> * Windows (desktop)
> * macOS
> * Linux (desktop and embedded)
> * Android (running not tested yet)
>
> * Static builds and plugins are implemented.
>
> * Many examples and tests are compiling and running.
>
> * Several modules outside of qtbase have been ported as well,
> including qtsvg, qtimageformats, qnetworkauth as well as parts of
> qtdeclarative.
>
> * There are early-warning style CI builds (no tests) running and
> reporting results to patches uploaded to Gerrit.
>
> * There is tooling in-place to re-generate cmake files from
> .pro/configure.json files, providing a method of dealing with the
> long term maintenance of merging from qmake based Qt (5) branches.
>
> * Very basic support for compiling applications (not modules) with qmake
> against a CMake built Qt.
>
> Many of the more fine-grained details are tracked in JIRA under an Epic:
>
> https://bugreports.qt.io/browse/QTBUG-73351
>
> as well as in the Qt Project Wiki at
>
> https://wiki.qt.io/CMake_Port
>
> Detailed steps on how to build Qt with CMake are available at
>
> https://code.qt.io/cgit/qt/qtbase.git/tree/cmake/README.md?h=wip/cmake
>
> There are some caveats with the above as well, but overall we feel confident
> about it. Therefore we would like to propose CMake as the build tool for
> Qt 6
> and would like to achieve a decision within the Qt project by lazy
> consensus.
>
> For the decision making it is important to also lay out the proposed path
> forward. We would like to merge the wip/cmake branch(es) into the wip/qt6
> branch of qtbase and other applicable repositories. This would pave the way
> for a transition that could look like this:
>
> (1) The CMake build system related files and scripts become visible
> to Qt 6 development. Both build systems co-exist.
>
> (2) The wip/qt6 branches continue to be built using qmake in the CI
> until we are ready to switch.
>
> (3) When the corresponding changes in Coin and qtbase are ready, a
> new configuration file in qtbase would switch the qtbase build over
> to use cmake for some configurations.
>
> (4) Through iteration all configurations are changed to use cmake.
>
> (5) The .pro/.pri files of projects can be removed -- the qmake
> sources themselves as well as mkspecs/features (and potentially
> other files) remain.
>
>
> We are looking forward to a productive discussion and feedback.
>
>
> Simon
>
> _______________________________________________
> Development mailing list
> Development at qt-project.org
> https://lists.qt-project.org/listinfo/development
>
--
---
Michael Winkelmann
Qt Advisor
The Qt Company GmbH
Rudower Chaussee 13
D-12489 Berlin
michael.winkelmann at qt.io
+4915122973404
http://qt.io
Geschäftsführer: Mika Pälsi, Juha Varelius, Mika Harjuaho
Sitz der Gesellschaft: Berlin, Registergericht: Amtsgericht
Charlottenburg, HRB 144331 B
---
More information about the Development
mailing list