[Development] Proposing CMake as build tool for Qt 6

Simon Hausmann Simon.Hausmann at qt.io
Fri Jun 7 11:05:42 CEST 2019


Hi,

I don't think anybody has tried an emscripten build yet. That said, from a building perspective it's a regular static build of Qt, emscripten comes with a cmake toolchain file, it's a single arch build and generally an easy interface, in my experience working with emscripten. The main issue that I can forsee at this point is the third-party library dependency handling, which works slightly differently and the missing PCRE2 in emscripten ports.



Simon
________________________________
From: Development <development-bounces at qt-project.org> on behalf of Michael Winkelmann <michael.winkelmann at qt.io>
Sent: Thursday, June 6, 2019 19:19
To: development at qt-project.org
Subject: Re: [Development] Proposing CMake as build tool for Qt 6

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
---
_______________________________________________
Development mailing list
Development at qt-project.org
https://lists.qt-project.org/listinfo/development
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/development/attachments/20190607/725e8db2/attachment.html>


More information about the Development mailing list