Qt5 super module
Go to file
Artem Dyomin 5ef8294f3f Enable llvm-mingw ffmpeg windows build
- Added build of ffmpeg for llvm-mingw
- Improved build errors handling
- Refactoring: decompose script into a few functions

Build example:
https://testresults.qt.io/coin/integration/qt/qt5/tasks/web_qt_qt5_1668780311363
See tests for LLVM-x64, they passed

Pick-to: 6.4
Change-Id: I59fe28ba6eb8e65ef5c4c3d08343ff72f349bd21
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
Reviewed-by: Simo Fält <simo.falt@qt.io>
2022-11-24 09:53:57 +01:00
cmake CMake: Normalize submodule names by stripping tqtc- prefixes 2022-04-28 19:27:59 +02:00
coin Enable llvm-mingw ffmpeg windows build 2022-11-24 09:53:57 +01:00
qt3d@e86814fcc8 Update submodules on 'dev in qt/qt5' 2022-11-10 04:36:14 +00:00
qt5compat@76fcdc2a59 Update submodules on 'dev in qt/qt5' 2022-11-10 04:36:14 +00:00
qtactiveqt@ae8a3fed18 Update submodules on 'dev in qt/qt5' 2022-11-10 04:36:14 +00:00
qtbase@ca254a0937 Update submodules on 'dev in qt/qt5' 2022-11-10 04:36:14 +00:00
qtcanvas3d@1319e0965f Update submodules on 'dev' in qt5 2019-01-11 07:40:26 +00:00
qtcharts@7bb8679179 Update submodules on 'dev in qt/qt5' 2022-11-10 04:36:14 +00:00
qtcoap@d122a60b9c Update submodules on 'dev in qt/qt5' 2022-11-10 04:36:14 +00:00
qtconnectivity@970595de1a Update submodules on 'dev in qt/qt5' 2022-11-10 04:36:14 +00:00
qtdatavis3d@ceac02a89e Update submodules on 'dev in qt/qt5' 2022-11-10 04:36:14 +00:00
qtdeclarative@da2b56abed Update submodules on 'dev in qt/qt5' 2022-11-10 04:36:14 +00:00
qtdoc@ad3dfd703d Update submodules on 'dev in qt/qt5' 2022-11-10 04:36:14 +00:00
qtfeedback@9ac8d8c272 Updated submodules. 2016-06-28 15:58:12 +00:00
qtgamepad@5fe6fd206f Update submodules on 'dev' in qt/qt5 2019-10-26 14:01:00 +02:00
qtgrpc@3a3c1413f5 Add qtgrpc submodule 2022-11-18 05:28:39 +00:00
qthttpserver@9e61949c46 Update submodules on 'dev in qt/qt5' 2022-11-10 04:36:14 +00:00
qtimageformats@95c7f4e38b Update submodules on 'dev in qt/qt5' 2022-11-10 04:36:14 +00:00
qtlanguageserver@d3b0bc8f1c Update submodules on 'dev in qt/qt5' 2022-11-10 04:36:14 +00:00
qtlocation@fc5a992d9d Change qtlocation from 'ignore' to preview 2022-11-24 09:14:18 +02:00
qtlottie@9fe8976032 Update submodules on 'dev in qt/qt5' 2022-11-10 04:36:14 +00:00
qtmqtt@8584b0c5db Update submodules on 'dev in qt/qt5' 2022-11-10 04:36:14 +00:00
qtmultimedia@7578eb075b Update submodules on 'dev in qt/qt5' 2022-11-10 04:36:14 +00:00
qtnetworkauth@076dd226e8 Update submodules on 'dev in qt/qt5' 2022-11-10 04:36:14 +00:00
qtopcua@50dba29a20 Update submodules on 'dev in qt/qt5' 2022-11-10 04:36:14 +00:00
qtpim@02efef5ee6 Updated submodules. 2016-06-28 15:58:12 +00:00
qtpositioning@57de682f3b Update submodules on 'dev in qt/qt5' 2022-11-10 04:36:14 +00:00
qtqa@603340057c Update submodules on 'dev in qt/qt5' 2022-11-10 04:36:14 +00:00
qtquick3d@c5736e4b94 Update submodules on 'dev in qt/qt5' 2022-11-10 04:36:14 +00:00
qtquick3dphysics@2d162314ec Update submodules on 'dev in qt/qt5' 2022-11-10 04:36:14 +00:00
qtquicktimeline@cd967647c7 Update submodules on 'dev in qt/qt5' 2022-11-10 04:36:14 +00:00
qtremoteobjects@a3bfac5554 Update submodules on 'dev in qt/qt5' 2022-11-10 04:36:14 +00:00
qtrepotools@780c3a4424 Update submodules on 'dev in qt/qt5' 2022-10-15 05:56:19 +00:00
qtscxml@09b764810b Update submodules on 'dev in qt/qt5' 2022-11-10 04:36:14 +00:00
qtsensors@d08f17040c Update submodules on 'dev in qt/qt5' 2022-11-10 04:36:14 +00:00
qtserialbus@86da9f17cc Update submodules on 'dev in qt/qt5' 2022-11-10 04:36:14 +00:00
qtserialport@73dcc6f9de Update submodules on 'dev in qt/qt5' 2022-11-10 04:36:14 +00:00
qtshadertools@b34e04572b Update submodules on 'dev in qt/qt5' 2022-11-10 04:36:14 +00:00
qtspeech@e99c0eb240 Update submodules on 'dev in qt/qt5' 2022-11-10 04:36:14 +00:00
qtsvg@393097e400 Update submodules on 'dev in qt/qt5' 2022-11-10 04:36:14 +00:00
qtsystems@434af789f0 Updated submodules. 2016-06-28 15:58:12 +00:00
qttools@1181df0cee Update submodules on 'dev in qt/qt5' 2022-11-10 04:36:14 +00:00
qttranslations@35365efbeb Update submodules on 'dev in qt/qt5' 2022-11-10 04:36:14 +00:00
qtvirtualkeyboard@a6022e1ffc Update submodules on 'dev in qt/qt5' 2022-11-10 04:36:14 +00:00
qtwayland@44bdc8c033 Update submodules on 'dev in qt/qt5' 2022-11-10 04:36:14 +00:00
qtwebchannel@b3e747360f Update submodules on 'dev in qt/qt5' 2022-11-10 04:36:14 +00:00
qtwebengine@6fb80f4794 Update submodules on 'dev in qt/qt5' 2022-11-10 04:36:14 +00:00
qtwebglplugin@531fb30d53 Update submodules on 'dev' in qt/qt5 2019-10-26 14:01:00 +02:00
qtwebsockets@67b1f32dd9 Update submodules on 'dev in qt/qt5' 2022-11-10 04:36:14 +00:00
qtwebview@e178cfe71b Update submodules on 'dev in qt/qt5' 2022-11-10 04:36:14 +00:00
qtxmlpatterns@05ab444844 Update submodules on 'dev' in qt/qt5 2019-10-26 14:01:00 +02:00
.commit-template Add Pick-to footer for cherry-pick bot to commit template 2020-04-20 11:04:27 +02:00
.gitattributes Turn off line ending conversion for .commit-template 2017-07-21 05:44:28 +00:00
.gitignore Add *.pro.user* to .gitignore 2017-05-25 21:34:29 +00:00
.gitmodules Change qtlocation from 'ignore' to preview 2022-11-24 09:14:18 +02:00
.tag Update the git-archive export options 2012-09-05 14:33:37 +02:00
CMakeLists.txt Enable CMAKE_MESSAGE_CONTEXT_SHOW 2022-10-26 08:20:01 +02:00
LICENSE.GPL2 Replace LGPL2.1 only header with LGPL3 one 2021-12-19 19:47:15 +00:00
LICENSE.GPL3 Replace LGPL2.1 only header with LGPL3 one 2021-12-19 19:47:15 +00:00
LICENSE.GPL3-EXCEPT Change license of top-level configure, configure.bat 2020-09-28 12:39:17 +02:00
LICENSE.LGPL3 Replace LGPL2.1 only header with LGPL3 one 2021-12-19 19:47:15 +00:00
LICENSE.QT-LICENSE-AGREEMENT Update LA 4.4.1 2022-04-26 20:45:32 +00:00
README.git Update README.git to mention Qt 6 2022-06-23 08:18:48 +02:00
README.md README.md: Remove Ruby requirement 2022-11-10 04:36:12 +00:00
_clang-format clang-format: codify some of our conventions 2022-09-28 11:42:29 +02:00
conanfile_profiles.py Conan: Add a recipe to pack build profiles in a Conan package 2021-11-19 20:46:58 +03:00
configure configure: Let shell deal with errexit and xtrace 2021-03-18 12:45:24 +01:00
configure.bat Change license of top-level configure, configure.bat 2020-09-28 12:39:17 +02:00
configure.json automatically launch new configure system in top-level builds 2016-09-15 06:52:35 +00:00
init-repository Replace LGPL2.1 only header with LGPL3 one 2021-12-19 19:47:15 +00:00

README.md

HOW TO BUILD Qt 6

Synopsis

System requirements

  • C++ compiler supporting the C++17 standard
  • CMake 3.16 or newer
  • Ninja 1.8 or newer
  • Python 3

For more details, see also https://doc.qt.io/qt-6/build-sources.html

Linux, Mac:

cd <path>/<source_package>
./configure -prefix $PWD/qtbase
cmake --build .

Windows:

  1. Open a command prompt.
  2. Ensure that the following tools can be found in the path:
cd <path>\<source_package>
configure -prefix %CD%\qtbase
cmake --build .

More details follow.

Build!

Qt is built with CMake, and a typical configure && cmake --build . build process is used.

If Ninja is installed, it is automatically chosen as CMake generator.

Some relevant configure options (see configure -help):

  • -release Compile and link Qt with debugging turned off.
  • -debug Compile and link Qt with debugging turned on.

Example for a release build:

./configure -prefix $PWD/qtbase
cmake --build .

Example for a developer build: (enables more autotests, builds debug version of libraries, ...)

./configure -developer-build
cmake --build .

See output of ./configure -help for documentation on various options to configure.

The above examples will build whatever Qt modules have been enabled by default in the build system.

It is possible to build selected repositories with their dependencies by doing a ninja <repo-name>/all. For example, to build only qtdeclarative, and the modules it depends on:

./configure
ninja qtdeclarative/all

This can save a lot of time if you are only interested in a subset of Qt.

Hints

The submodule repository qtrepotools contains useful scripts for developers and release engineers. Consider adding qtrepotools/bin to your PATH environment variable to access them.

Building Qt from git

See http://wiki.qt.io/Building_Qt_6_from_Git and README.git for more information. See http://wiki.qt.io/Qt_6 for the reference platforms.

Documentation

After configuring and compiling Qt, building the documentation is possible by running

cmake --build . --target docs

After having built the documentation, you need to install it with the following command:

cmake --build . --target install_docs

The documentation is installed in the path specified with the configure argument -docdir.

Information about Qt's documentation is located in qtbase/doc/README

Note: Building the documentation is only tested on desktop platforms.