Qt5 super module
Go to file
Safiyyah Moosa f3b2983537 Doc: Create README template
There are many Qt submodules, and it would be beneficial to users if
there was a standard README template that will enable them to understand
and access the submodule content better. Currently many of the
submodules do not have README documents, or if they do, each submodule
varies vastly regarding what content is in the document. This proposed
README template is based on the Git ReadMe structure.

Task-number: QTBUG-114809
Change-Id: I3d1d1da27ed665e76ee6d1df8a93c3e5a920b0a3
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Amir Masoud Abdol <amir.abdol@qt.io>
(cherry picked from commit 80573dd36b)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 9e6717ed6b)
2023-09-23 16:20:25 +00:00
LICENSES Add license directory and update remaining license format in coin 2023-09-07 10:40:22 +02:00
cmake CMake: Normalize submodule names by stripping tqtc- prefixes 2022-04-28 19:27:59 +02:00
coin Replace macOS 12 ARM with macOS 13 ARM as a build target 2023-09-21 08:12:20 +00:00
qt3d@9098ddfc80 Update submodules on '6.5 in qt/qt5' 2023-09-22 19:08:10 +00:00
qt5compat@316dd244bc Update submodules on '6.5 in qt/qt5' 2023-09-22 19:08:10 +00:00
qtactiveqt@14319e54f3 Update submodules on '6.5 in qt/qt5' 2023-09-22 19:08:10 +00:00
qtbase@4cdf4487ad Update submodules on '6.5 in qt/qt5' 2023-09-22 19:08:10 +00:00
qtcanvas3d@1319e0965f Update submodules on 'dev' in qt5 2019-01-11 07:40:26 +00:00
qtcharts@34b4203f5b Update submodules on '6.5 in qt/qt5' 2023-09-22 19:08:10 +00:00
qtcoap@62e19879e2 Update submodules on '6.5 in qt/qt5' 2023-09-22 19:08:10 +00:00
qtconnectivity@03e129312e Update submodules on '6.5 in qt/qt5' 2023-09-22 19:08:10 +00:00
qtdatavis3d@de99f22881 Update submodules on '6.5 in qt/qt5' 2023-09-22 19:08:10 +00:00
qtdeclarative@b00d6c447c Update submodules on '6.5 in qt/qt5' 2023-09-22 19:08:10 +00:00
qtdoc@7d672d72a9 Update submodules on '6.5 in qt/qt5' 2023-09-22 19:08:10 +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@badd7fcea0 Update submodules on '6.5 in qt/qt5' 2023-09-22 19:08:10 +00:00
qthttpserver@3c50338442 Update submodules on '6.5 in qt/qt5' 2023-09-22 19:08:10 +00:00
qtimageformats@dfc4534df8 Update submodules on '6.5 in qt/qt5' 2023-09-22 19:08:10 +00:00
qtlanguageserver@bf0d518613 Update submodules on '6.5 in qt/qt5' 2023-09-22 19:08:10 +00:00
qtlocation@022b14e71f Update submodules on '6.5 in qt/qt5' 2023-09-22 19:08:10 +00:00
qtlottie@33edbf2079 Update submodules on '6.5 in qt/qt5' 2023-09-22 19:08:10 +00:00
qtmqtt@eba66f4867 Update submodules on '6.5 in qt/qt5' 2023-09-22 19:08:10 +00:00
qtmultimedia@5a4d76d9b2 Update submodules on '6.5 in qt/qt5' 2023-09-22 19:08:10 +00:00
qtnetworkauth@2c32fa9d01 Update submodules on '6.5 in qt/qt5' 2023-09-22 19:08:10 +00:00
qtopcua@7fa01031f6 Update submodules on '6.5 in qt/qt5' 2023-09-22 19:08:10 +00:00
qtpim@02efef5ee6 Updated submodules. 2016-06-28 15:58:12 +00:00
qtpositioning@fa1904651b Update submodules on '6.5 in qt/qt5' 2023-09-22 19:08:10 +00:00
qtqa@7778e114bd Update submodules on '6.5 in qt/qt5' 2023-09-22 19:08:10 +00:00
qtquick3d@9ccade18e8 Update submodules on '6.5 in qt/qt5' 2023-09-22 19:08:10 +00:00
qtquick3dphysics@dc4e9fd225 Update submodules on '6.5 in qt/qt5' 2023-09-22 19:08:10 +00:00
qtquickeffectmaker@b260a76530 Update submodules on '6.5 in qt/qt5' 2023-09-22 19:08:10 +00:00
qtquicktimeline@378b8a8605 Update submodules on '6.5 in qt/qt5' 2023-09-22 19:08:10 +00:00
qtremoteobjects@4580dba391 Update submodules on '6.5 in qt/qt5' 2023-09-22 19:08:10 +00:00
qtrepotools@0fd86a1cba Update submodules on '6.5 in qt/qt5' 2023-09-22 19:08:10 +00:00
qtscxml@a5a02dcfdc Update submodules on '6.5 in qt/qt5' 2023-09-22 19:08:10 +00:00
qtsensors@636e8a906c Update submodules on '6.5 in qt/qt5' 2023-09-22 19:08:10 +00:00
qtserialbus@e1929602b7 Update submodules on '6.5 in qt/qt5' 2023-09-22 19:08:10 +00:00
qtserialport@a2ec84b93f Update submodules on '6.5 in qt/qt5' 2023-09-22 19:08:10 +00:00
qtshadertools@dae6106ea5 Update submodules on '6.5 in qt/qt5' 2023-09-22 19:08:10 +00:00
qtspeech@14d6395d16 Update submodules on '6.5 in qt/qt5' 2023-09-22 19:08:10 +00:00
qtsvg@e490135142 Update submodules on '6.5 in qt/qt5' 2023-09-22 19:08:10 +00:00
qtsystems@434af789f0 Updated submodules. 2016-06-28 15:58:12 +00:00
qttools@1c79fb1454 Update submodules on '6.5 in qt/qt5' 2023-09-22 19:08:10 +00:00
qttranslations@4f3ce39c72 Update submodules on '6.5 in qt/qt5' 2023-09-22 19:08:10 +00:00
qtvirtualkeyboard@a05639c970 Update submodules on '6.5 in qt/qt5' 2023-09-22 19:08:10 +00:00
qtwayland@f6c2fab531 Update submodules on '6.5 in qt/qt5' 2023-09-22 19:08:10 +00:00
qtwebchannel@6f1401a2b2 Update submodules on '6.5 in qt/qt5' 2023-09-22 19:08:10 +00:00
qtwebengine@8cb60c1560 Update submodules on '6.5 in qt/qt5' 2023-09-22 19:08:10 +00:00
qtwebglplugin@531fb30d53 Update submodules on 'dev' in qt/qt5 2019-10-26 14:01:00 +02:00
qtwebsockets@bc1a6663f2 Update submodules on '6.5 in qt/qt5' 2023-09-22 19:08:10 +00:00
qtwebview@23779cba90 Update submodules on '6.5 in qt/qt5' 2023-09-22 19:08:10 +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 file names to .gitignore 2023-07-20 18:12:08 +00:00
.gitmodules Add missing optional dependency for qtgrpc submodule 2023-09-12 23:49:00 +00:00
.tag Update the git-archive export options 2012-09-05 14:33:37 +02:00
CMakeLists.txt CMake: Remove unused variable 2023-09-06 10:34:35 +00: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 Appendix 9 in LICENSE.QT-LICENSE-AGREEMENT 2023-05-18 11:50:10 +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
README.md.template Doc: Create README template 2023-09-23 16:20:25 +00:00
_clang-format clang-format: codify some of our conventions 2022-09-28 11:42:29 +02:00
configure Add license directory and update remaining license format in coin 2023-09-07 10:40:22 +02:00
configure.bat Add license directory and update remaining license format in coin 2023-09-07 10:40:22 +02:00
configure.json automatically launch new configure system in top-level builds 2016-09-15 06:52:35 +00:00
init-repository init-repository: Fix wrong remote URLs in cloned submodules 2023-06-12 23:50:42 +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.