Details
-
Epic
-
Resolution: Done
-
P1: Critical
-
None
-
None
-
Build system transition to CMake
Description
Rationale
We have supported three build systems in Qt: qmake, Qbs, and CMake. We plan that in Qt 6, the main build tool is CMake, so we need to create a CMake-based build system, which is used to build Qt and which is used by customers in their Qt projects.
Business justification
Helps customers, who already use CMake, to start using Qt.
What is needed?
- CMake build system
- CMakeLists.txt files as replacement for the .pro/pri files
- Conversion script exists, but requires some hand edits into the build files
- CMake build system for Qt Creator
- Good CMake support in Qt Creator
- Toolchain support for B2Qt
- Improve CMake support to at least the same level as qmake
- Fix/complete missing features for Qt 5 CMake support to build Qt apps
- Promote CMake as the preferred build system for new projects already now
- Make sure the default install of Qt Creator install everything needed for CMake to work
- Change the Creator wizards etc to create CMake applications by default (currently offers qmake, CMake and QBS with qmake as default)
- Change the examples to use CMake instead of qmake
- Remove all linking and promotion of QBS from documentation and Creator (QBS documentation can be there, but we should not position it as something to start new things with)
- Clearly mark to all QBS documentation, tutorials, … that QBS is deprecated and should not be used in new projects
- Remove QBS from option list of new application wizards? Or mark that it is deprecated
- Write blog posts about how to use CMake with Qt and Creator
- Create tutorials, videos, webinars etc on how to use CMake with Qt 5 application
Attachments
Issue Links
- depends on
-
QTBUG-80897 CMake Port: Milestone 7 (backlog)
- Open
-
QTBUG-73925 CMake Port: Milestone 1
- Closed
-
QTBUG-74612 CMake Port: Milestone 2
- Closed
-
QTBUG-75944 CMake Port: Milestone 3
- Closed
-
QTBUG-86961 CMake Port: Milestone 4
- Closed
- is required for
-
QTBUG-74397 Modularity, build system & package management
- Closed
-
QTBUG-85855 Qt 6.0 development targets
- Closed
-
QTBUG-72169 Support known good Qt Lite configuration presets
- Open
-
QTBUG-72170 Test known good Qt Lite configurations in CI
- Open
-
QTBUG-72166 qt-config-gui: Implement simplified view for picking features
- Blocked
- relates to
-
AUTOSUITE-1632 Qt AppMan transition to Qt 6 and CMake
- Closed
-
AUTOSUITE-1633 Qt IVI transition to Qt 6 and CMake and rename to Qt Interface Framework
- Closed
-
AUTOSUITE-1635 Qt Deployment Server transition to Qt 6 and CMake
- Closed
-
QTCREATORBUG-24677 There is no fallback when cmake fails to configure a project
- Closed