[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