That may be possible to implement. It requires the work to be done upstream in
cmake's FindQt.cmake. It also requires maintaining compatibility with Qt 3 and
4. See
https://devdocs.io/cmake~3.12/module/findqt
I suggest for you to get in touch with the CMake developers to see what they
think about it.
Simon
________________________________
From: Development <[email protected]> on behalf of Vitaly
Fanaskov <[email protected]>
Sent: Wednesday, February 13, 2019 11:22
To: [email protected]
Subject: Re: [Development] CMake Workshop Summary
Hi Simon,
Thank you for the update.
It's not clear why you included version to a package name (e.g. Qt5/Qt6). With
CMake you can pass a version as the second argument, e.g.: find_package(Qt 5.12)
Perhaps it would be better, what do you think?
On 2/13/19 10:33 AM, Simon Hausmann wrote:
Hi,
On Monday/Tuesday a bunch of us met at KDAB offices in Berlin to accelerate the
attempt of building Qt with CMake. I'd like to give a brief summary of this
workshop.
Who: Jean-Michaël, Liang, Volker, Mikhail, Kevin, me, Tobias, Kai and Albert.
A very early visible artifact was the creation of a wiki page (like all good
workshops ;-)
https://wiki.qt.io/CMake_Port
With such a large group, we were able to make good progress:
* We were able to fix the artifacts of "make install" in qtbase to allow
for building an external module (qtsvg) and sample apps. The plan for allowing
people to develop apps that work with Qt 5 and Qt 6 is quite simple API wise:
(1) In your application use either find_package(Qt5) or
find_package(Qt6)
(2) Always use Qt::Core, Qt::Gui, etc. for linkage
(3) We want to add the "plain" Qt::Core, Qt::Gui, targets also to Qt5's
cmake support
* The script to converting .pro files to CMakeLists.txt is becoming really
good. The goal is to convert all scopes and (source) file names correctly.
Right now the repo contains incremental conversions with hand-edits.
* We're working on installing the latest cmake (as required) in the
provisioning setup, so that we can get a building CI as soon as possible.
* We were able to verify that cross-compilation works well. The main
challenge is ensuring that third-party libraries that used to be copied in
src/3rdparty are either installed in the sysroot or can be found outside.
* We discussed and experimented with different ways of making static builds
robust. So static builds themselves work already, but what we're looking into
in particular is an automatic way of propagating Qt internal dependencies (such
as double-conversion) correctly to the build process of the application that is
not fragile.
* We added a lot more plugins and platform support libraries to the build
process and did many improvements to the finding of external libraries.
Our overall next goal is completing the build on Linux, macOS and Windows,
cross-compilation, static builds and basic CI build support.
Simon
_______________________________________________
Development mailing list
[email protected]<mailto:[email protected]>
https://lists.qt-project.org/listinfo/development
--
Best Regards,
Fanaskov Vitaly
Senior Software Engineer
The Qt Company / Qt Quick and Widgets Team
_______________________________________________
Development mailing list
[email protected]
https://lists.qt-project.org/listinfo/development