Sign up for the KDAB Newsletter
Stay on top of the latest news, publications, events and more.
Go to Sign-up
Kevin Funk
14 February 2019
Last Monday and Tuesday a few brave souls from both the Qt Company and KDAB gathered together in the KDAB Berlin office premises to work on the CMake build system for building Qt. There was Mikhail, Liang, Tobias, Kai, Simon (QtCompany) as well as Jean-Michaël, Albert, Volker and me (KDAB) sitting together in a tight room, focusing solely on the CMake port of Qt.
Excerpt of the top-level CMakeLists.txt in qtbase.git
All work done so far is out in public and can be checked out on Qt Gerrit.
To put this a bit more into context, the Qt Project believes that building Qt with CMake is our best bet in Qt6 times and thus a group of people have started to build a CMake build system prototype. KDAB has a track record of helping out with the CMake support in Qt. For instance most of the "Modern CMake"-style support in Qt5 has been implemented by Stephen Kelly. As of today, we're even largely responsible for maintaining the CMake support of Qt5. Since quite a few of our customers are actually heavily invested in CMake themselves, we'd also like to make sure Qt stays easy to use with it in future. Thus we're continuing to invest in Qt's CMake support and would like to help out with the early Qt6 build system exploration happening right now.
The central page where we're currently collecting the progress made as well as the future roadmap is here: https://wiki.qt.io/CMake_Port
On that page you'll also learn which branch to check out from Gerrit in order to start playing around with the current state of the Qt/CMake build. Please make sure to have the prerequisites for building the branch (i.e. a current CMake build!).
As Simon mentioned in his workshop summary, sent to the qt-development mailing list, we were able to make good progress on multiple fronts the last few days. Let me just outline his notes part of that mail, with some additional comments of my own:
find_package(Qt5)
or find_package(Qt6)
Qt::Core
, Qt::Gui
, etc. for linkageQt::Core
, Qt::Gui
, targets also to Qt5's CMake supportIf you have comments or if you want to help out, please ideally post feedback on the Qt Project infrastructure. Send a mail to the qt-development mailing list or comment on the wiki page dedicated for the CMake port. Or just join us in the IRC channel #qt-cmake on Freenode!
Stay on top of the latest news, publications, events and more.
Go to Sign-up
Learn Modern C++
Our hands-on Modern C++ training courses are designed to quickly familiarize newcomers with the language. They also update professional C++ developers on the latest changes in the language and standard library introduced in recent C++ editions.
Learn more