Qt5 super module
Go to file
Heikki Halmet 88cde9e500 Set correct Emscripten environment variables
Needed environment variables are set during emsdk installation when
installation is done using emsdk.git. But those are not set
as permanently. To have correct values we need to get them from
install environment and set them permanently for build environment.

Pick-to: 6.3
Pick-to: 6.2
Change-Id: Ifb80aa4a93608b79faffc8c59002c89804f60570
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2022-02-03 21:12:55 +02:00
cmake CMake: Rework inter-repository dependency resolution 2022-01-31 11:10:40 +01:00
coin Set correct Emscripten environment variables 2022-02-03 21:12:55 +02:00
qt3d@6580d41a3f Update submodules on 'dev in qt/qt5' 2022-01-28 05:37:05 +00:00
qt5compat@fa9f4ddbf5 Update submodules on 'dev in qt/qt5' 2022-01-28 05:37:05 +00:00
qtactiveqt@6d8f4723ee Update submodules on 'dev in qt/qt5' 2022-01-28 05:37:05 +00:00
qtbase@1daaf613dc Update submodules on 'dev in qt/qt5' 2022-01-28 05:37:05 +00:00
qtcanvas3d@1319e0965f Update submodules on 'dev' in qt5 2019-01-11 07:40:26 +00:00
qtcharts@e0f38f4064 Update submodules on 'dev in qt/qt5' 2022-01-28 05:37:05 +00:00
qtcoap@e7aae6a425 Update submodules on 'dev in qt/qt5' 2022-01-28 05:37:05 +00:00
qtconnectivity@69b4123451 Update submodules on 'dev in qt/qt5' 2022-01-28 05:37:05 +00:00
qtdatavis3d@de01c21d4c Update submodules on 'dev in qt/qt5' 2022-01-28 05:37:05 +00:00
qtdeclarative@b3fc740080 Update submodules on 'dev in qt/qt5' 2022-01-28 05:37:05 +00:00
qtdoc@889ec3a5ca Update submodules on 'dev in qt/qt5' 2022-01-28 05:37:05 +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
qtimageformats@d8c93b63dc Update submodules on 'dev in qt/qt5' 2022-01-28 05:37:05 +00:00
qtlanguageserver@4e7741e2c0 Update submodules on 'dev in qt/qt5' 2022-01-28 05:37:05 +00:00
qtlocation@7f6ee8fa23 Update submodules on 'dev in qt/qt5' 2021-10-13 02:19:05 +00:00
qtlottie@100c0a321d Update submodules on 'dev in qt/qt5' 2022-01-28 05:37:05 +00:00
qtmqtt@a7bd11921f Update submodules on 'dev in qt/qt5' 2022-01-28 05:37:05 +00:00
qtmultimedia@577d6488b8 Update submodules on 'dev in qt/qt5' 2022-01-28 05:37:05 +00:00
qtnetworkauth@3172ca148b Update submodules on 'dev in qt/qt5' 2022-01-28 05:37:05 +00:00
qtopcua@7d4f85fdc8 Update submodules on 'dev in qt/qt5' 2022-01-28 05:37:05 +00:00
qtpim@02efef5ee6 Updated submodules. 2016-06-28 15:58:12 +00:00
qtpositioning@ebe840f5e2 Update submodules on 'dev in qt/qt5' 2022-01-28 05:37:05 +00:00
qtqa@af524f0f57 Update submodules on 'dev in qt/qt5' 2022-01-28 05:37:05 +00:00
qtquick3d@b9989c6a69 Update submodules on 'dev in qt/qt5' 2022-01-28 05:37:05 +00:00
qtquicktimeline@d61288c5b7 Update submodules on 'dev in qt/qt5' 2022-01-28 05:37:05 +00:00
qtremoteobjects@e69c23b6a8 Update submodules on 'dev in qt/qt5' 2022-01-28 05:37:05 +00:00
qtrepotools@3317d635ff Update submodules on 'dev in qt/qt5' 2022-01-28 05:37:05 +00:00
qtscxml@2bc67d7beb Update submodules on 'dev in qt/qt5' 2022-01-28 05:37:05 +00:00
qtsensors@f60691e5f1 Update submodules on 'dev in qt/qt5' 2022-01-28 05:37:05 +00:00
qtserialbus@859d9fefcd Update submodules on 'dev in qt/qt5' 2022-01-28 05:37:05 +00:00
qtserialport@09f6398081 Update submodules on 'dev in qt/qt5' 2022-01-28 05:37:05 +00:00
qtshadertools@fd50777312 Update submodules on 'dev in qt/qt5' 2022-01-28 05:37:05 +00:00
qtspeech@25c1b5b74c Update submodules on 'dev' in qt/qt5 2019-10-26 14:01:00 +02:00
qtsvg@c92d223536 Update submodules on 'dev in qt/qt5' 2022-01-28 05:37:05 +00:00
qtsystems@434af789f0 Updated submodules. 2016-06-28 15:58:12 +00:00
qttools@836becf902 Update submodules on 'dev in qt/qt5' 2022-01-28 05:37:05 +00:00
qttranslations@f998804fb1 Update submodules on 'dev in qt/qt5' 2022-01-28 05:37:05 +00:00
qtvirtualkeyboard@003bac57e0 Update submodules on 'dev in qt/qt5' 2022-01-28 05:37:05 +00:00
qtwayland@0e4a5a94b1 Update submodules on 'dev in qt/qt5' 2022-01-28 05:37:05 +00:00
qtwebchannel@28a85777c0 Update submodules on 'dev in qt/qt5' 2022-01-28 05:37:05 +00:00
qtwebengine@9392bce538 Update submodules on 'dev in qt/qt5' 2022-01-28 05:37:05 +00:00
qtwebglplugin@531fb30d53 Update submodules on 'dev' in qt/qt5 2019-10-26 14:01:00 +02:00
qtwebsockets@1ae0be9b4f Update submodules on 'dev in qt/qt5' 2022-01-28 05:37:05 +00:00
qtwebview@cd348b612a Update submodules on 'dev in qt/qt5' 2022-01-28 05:37:05 +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 Add qtlanguageserver as a optional dependency for qtdeclarative 2022-01-28 05:37:06 +00:00
.tag Update the git-archive export options 2012-09-05 14:33:37 +02:00
CMakeLists.txt CMake: Rework inter-repository dependency resolution 2022-01-31 11:10:40 +01: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 latest qt license agreement 2021-12-17 10:44:46 +00:00
README.git Replace old qt-project.org wiki with wiki.qt.io 2015-04-16 09:42:01 +00:00
README.md Fix code formatting in README 2021-10-28 16:29:13 +03:00
_clang-format Update _clang_format to avoid adding a space in list-initialization 2022-02-01 12:12:42 +00: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 Qt6

Synopsis

System requirements

  • CMake 3.18 or later
  • Perl 5.8 or later
  • Python 2.7 or later
  • C++ compiler supporting the C++17 standard

It's recommended to have ninja 1.8 or later installed.

For other platform specific requirements, please see section "Setting up your machine" on: http://wiki.qt.io/Get_The_Source

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.