Qt5 super module
Go to file
Safiyyah Moosa 80573dd36b 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
Pick-to: 6.5 6.6
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>
2023-09-23 10:27:29 +02:00
LICENSES Add license directory and update remaining license format in coin 2023-09-02 13:58:24 +02:00
cmake CMake: Add support for a git qt-foreach subcommand for worktrees 2023-01-27 10:44:08 +01:00
coin coin: Re-order and comment macOS build configs 2023-09-20 14:49:59 +02:00
qt3d@877ac9c47a Update submodules on 'dev in qt/qt5' 2023-09-21 13:51:05 +00:00
qt5compat@f7b780b8e8 Update submodules on 'dev in qt/qt5' 2023-09-21 13:51:05 +00:00
qtactiveqt@939575465a Update submodules on 'dev in qt/qt5' 2023-09-21 13:51:05 +00:00
qtbase@e456232ad3 Update submodules on 'dev in qt/qt5' 2023-09-21 13:51:05 +00:00
qtcanvas3d@1319e0965f Update submodules on 'dev' in qt5 2019-01-11 07:40:26 +00:00
qtcharts@3a6bc0e435 Update submodules on 'dev in qt/qt5' 2023-09-21 13:51:05 +00:00
qtcoap@f8c8f5fe5c Update submodules on 'dev in qt/qt5' 2023-09-21 13:51:05 +00:00
qtconnectivity@61505b99a5 Update submodules on 'dev in qt/qt5' 2023-09-21 13:51:05 +00:00
qtdatavis3d@9c61043516 Update submodules on 'dev in qt/qt5' 2023-09-21 13:51:05 +00:00
qtdeclarative@7e16e2211a Update submodules on 'dev in qt/qt5' 2023-09-21 13:51:05 +00:00
qtdoc@51b26472df Update submodules on 'dev in qt/qt5' 2023-09-21 13:51: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
qtgraphs@c9539c4e98 Update submodules on 'dev in qt/qt5' 2023-09-21 13:51:05 +00:00
qtgrpc@f5dc6f5510 Update submodules on 'dev in qt/qt5' 2023-09-21 13:51:05 +00:00
qthttpserver@8ddf61cea1 Update submodules on 'dev in qt/qt5' 2023-09-21 13:51:05 +00:00
qtimageformats@a85387d227 Update submodules on 'dev in qt/qt5' 2023-09-21 13:51:05 +00:00
qtlanguageserver@2aaa58fac5 Update submodules on 'dev in qt/qt5' 2023-09-21 13:51:05 +00:00
qtlocation@e39eeda649 Update submodules on 'dev in qt/qt5' 2023-09-21 13:51:05 +00:00
qtlottie@d9c0a880a9 Update submodules on 'dev in qt/qt5' 2023-09-21 13:51:05 +00:00
qtmqtt@7f23a7a848 Update submodules on 'dev in qt/qt5' 2023-09-21 13:51:05 +00:00
qtmultimedia@932cd5577b Update submodules on 'dev in qt/qt5' 2023-09-21 13:51:05 +00:00
qtnetworkauth@63acb49771 Update submodules on 'dev in qt/qt5' 2023-09-21 13:51:05 +00:00
qtopcua@f01c27055c Update submodules on 'dev in qt/qt5' 2023-09-21 13:51:05 +00:00
qtpim@02efef5ee6 Updated submodules. 2016-06-28 15:58:12 +00:00
qtpositioning@0ef6f7f64d Update submodules on 'dev in qt/qt5' 2023-09-21 13:51:05 +00:00
qtqa@b74017291e Update submodules on 'dev in qt/qt5' 2023-09-21 13:51:05 +00:00
qtquick3d@f007b72825 Update submodules on 'dev in qt/qt5' 2023-09-21 13:51:05 +00:00
qtquick3dphysics@59dfae00db Update submodules on 'dev in qt/qt5' 2023-09-21 13:51:05 +00:00
qtquickeffectmaker@8711c1a9fb Update submodules on 'dev in qt/qt5' 2023-09-21 13:51:05 +00:00
qtquicktimeline@c9e0d4bb9b Update submodules on 'dev in qt/qt5' 2023-09-21 13:51:05 +00:00
qtremoteobjects@c7b8a40648 Update submodules on 'dev in qt/qt5' 2023-09-21 13:51:05 +00:00
qtrepotools@925e5722f5 Update submodules on 'dev in qt/qt5' 2023-09-18 20:33:28 +00:00
qtscxml@3b0727e1a5 Update submodules on 'dev in qt/qt5' 2023-09-21 13:51:05 +00:00
qtsensors@0fdeefbff3 Update submodules on 'dev in qt/qt5' 2023-09-21 13:51:05 +00:00
qtserialbus@4f54cd51f7 Update submodules on 'dev in qt/qt5' 2023-09-21 13:51:05 +00:00
qtserialport@d650928a06 Update submodules on 'dev in qt/qt5' 2023-09-21 13:51:05 +00:00
qtshadertools@95d3c7fcc7 Update submodules on 'dev in qt/qt5' 2023-09-21 13:51:05 +00:00
qtspeech@f8616b10e5 Update submodules on 'dev in qt/qt5' 2023-09-21 13:51:05 +00:00
qtsvg@3fd27ee0d3 Update submodules on 'dev in qt/qt5' 2023-09-21 13:51:05 +00:00
qtsystems@434af789f0 Updated submodules. 2016-06-28 15:58:12 +00:00
qttools@53b770c4e0 Update submodules on 'dev in qt/qt5' 2023-09-21 13:51:05 +00:00
qttranslations@d59ebb549b Update submodules on 'dev in qt/qt5' 2023-09-21 13:51:05 +00:00
qtvirtualkeyboard@a010b8a6e4 Update submodules on 'dev in qt/qt5' 2023-09-21 13:51:05 +00:00
qtwayland@99c71c495b Update submodules on 'dev in qt/qt5' 2023-09-21 13:51:05 +00:00
qtwebchannel@2b3b121d7a Update submodules on 'dev in qt/qt5' 2023-09-21 13:51:05 +00:00
qtwebengine@9913864bd7 Update submodules on 'dev in qt/qt5' 2023-09-21 13:51:05 +00:00
qtwebglplugin@531fb30d53 Update submodules on 'dev' in qt/qt5 2019-10-26 14:01:00 +02:00
qtwebsockets@5fe7ec6e51 Update submodules on 'dev in qt/qt5' 2023-09-21 13:51:05 +00:00
qtwebview@8036609bf1 Update submodules on 'dev in qt/qt5' 2023-09-21 13:51: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 file names to .gitignore 2023-07-20 20:13:40 +03:00
.gitmodules Add qtmultimedia as a recommended dependency for qt3d 2023-06-30 06:48:52 +00:00
.tag Update the git-archive export options 2012-09-05 14:33:37 +02:00
CMakeLists.txt CMake: Move some code back into qtbase 2023-09-20 08:29:08 +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 Appendix 9 in LICENSE.QT-LICENSE-AGREEMENT 2023-05-18 11:17:13 +00:00
README.git Update README.git to mention Qt 6 2022-06-23 08:18:48 +02:00
README.md Remove CMake and Ninja version requirements from README 2023-06-26 16:38:02 +02:00
README.md.template Doc: Create README template 2023-09-23 10:27:29 +02:00
_clang-format Add .proto files format to _clang-format 2023-09-11 09:03:26 +02:00
configure Add license directory and update remaining license format in coin 2023-09-02 13:58:24 +02:00
configure.bat Add license directory and update remaining license format in coin 2023-09-02 13:58:24 +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 12:10:34 +00:00

README.md

HOW TO BUILD Qt 6

Synopsis

System requirements

  • C++ compiler supporting the C++17 standard
  • CMake
  • Ninja
  • 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.