summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKai Köhne <kai.koehne@qt.io>2021-01-06 16:07:42 +0100
committerKai Köhne <kai.koehne@qt.io>2021-01-25 20:01:00 +0100
commitcf9683601857bb8ba0a5f24b13affa9de1e27ef8 (patch)
tree5d1f645e316a9fa0a4c8807a6ccf1b256cdceea4
parent87ffd79622915509d73c04821ea1d2ada470ba2c (diff)
Update start of cmake/README.md
Make the document reflect the current status of the port. Also link to https://doc.qt.io/qt-6/build-sources.html and https://wiki.qt.io/Building_Qt_6_from_Git as official sources on how to build Qt. This document should IMO rather concentrate on documenting the build system internals. Pick-to: 6.0 Change-Id: If62cb966b41b7452edb5b63725756916b66affac Reviewed-by: Craig Scott <craig.scott@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
-rw-r--r--cmake/README.md36
1 files changed, 18 insertions, 18 deletions
diff --git a/cmake/README.md b/cmake/README.md
index eaaa781380..e7e600536f 100644
--- a/cmake/README.md
+++ b/cmake/README.md
@@ -1,20 +1,24 @@
-# Status
+# Overview
-Port is still on-going.
+This document gives an overview of the Qt 6 build system. For a hands-on guide on how
+to build Qt 6, see https://doc.qt.io/qt-6/build-sources.html and
+https://wiki.qt.io/Building_Qt_6_from_Git
-Note:
-You need CMake 3.16.0 or later for most platforms (due to new AUTOMOC json feature).
-You need CMake 3.17.0 to build Qt for iOS with the simulator_and_device feature.
-You need CMake 3.17.0 + Ninja to build Qt in debug_and_release mode on Windows / Linux.
-You need CMake 3.18.0 + Ninja to build Qt on macOS in debug_and_release mode when using frameworks.
+# CMake Versions
-# Intro
+* You need CMake 3.16.0 or later for most platforms (due to new AUTOMOC json feature).
+* You need CMake 3.17.0 to build Qt for iOS with the simulator_and_device feature.
+* You need CMake 3.17.0 + Ninja to build Qt in debug_and_release mode on Windows / Linux.
+* You need CMake 3.18.0 + Ninja to build Qt on macOS in debug_and_release mode when using frameworks.
-The CMake update offers an opportunity to revisit some topics that came up during the last few
-years.
+# Changes to Qt 5
-* The Qt build system does not support building host tools during a cross-compilation run. You need
- to build a Qt for your host machine first and then use the platform tools from that version. The
+The build system of Qt 5 was done on top of qmake. Qt 6 is built with CMake.
+
+This offered an opportunity to revisit other areas of the build system, too:
+
+* The Qt 5 build system allowed to build host tools during a cross-compilation run. Qt 6 requires
+ you to build a Qt for your host machine first and then use the platform tools from that version. The
decision to do this was reached independent of cmake: This does save resources on build machines
as the host tools will only get built once.
@@ -24,14 +28,10 @@ years.
* There is less need for bootstrapping. Only moc and rcc (plus the lesser known tracegen and
qfloat16-tables) are linking against the bootstrap Qt library. Everything else can link against
- the full QtCore. This will include qmake.
- Qmake is supported as a build system for applications *using* Qt going forward and will
+ the full QtCore. This does include qmake.
+ qmake is supported as a build system for applications *using* Qt going forward and will
not go away anytime soon.
-* We keep the qmake-based Qt build system working so that we do not interfere too much with ongoing
- development.
-
-
# Building against homebrew on macOS
You may use brew to install dependencies needed to build QtBase.