Qt5 super module
Go to file
Marc Mutz 7db7d89fd0 ubuntu-22.04: don't ignore warnings anymore
We permanently accept C++17-isms that cause warnings (or, on Clang,
sometimes hard errors) in C++20 builds, because this configuration
(unlike the MSVC C++20 build) disables -Werror.

Enable -Werror for dev C++20 Linux builds, at least, going forward.

Change-Id: I2334f87e7c88f263af89bdd029bdf469f242d297
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2023-09-20 06:29:11 +00: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 ubuntu-22.04: don't ignore warnings anymore 2023-09-20 06:29:11 +00:00
qt3d@58ca2fdba8 Update submodules on 'dev in qt/qt5' 2023-09-20 03:20:06 +00:00
qt5compat@816bcbd325 Update submodules on 'dev in qt/qt5' 2023-09-20 03:20:06 +00:00
qtactiveqt@8596f3e30e Update submodules on 'dev in qt/qt5' 2023-09-20 03:20:06 +00:00
qtbase@300614a170 Update submodules on 'dev in qt/qt5' 2023-09-20 03:20:06 +00:00
qtcanvas3d@1319e0965f Update submodules on 'dev' in qt5 2019-01-11 07:40:26 +00:00
qtcharts@5dd61dd646 Update submodules on 'dev in qt/qt5' 2023-09-20 03:20:06 +00:00
qtcoap@b75df8b1dc Update submodules on 'dev in qt/qt5' 2023-09-20 03:20:06 +00:00
qtconnectivity@e25720f4d1 Update submodules on 'dev in qt/qt5' 2023-09-20 03:20:06 +00:00
qtdatavis3d@65d558fa85 Update submodules on 'dev in qt/qt5' 2023-09-20 03:20:06 +00:00
qtdeclarative@e47430ad26 Update submodules on 'dev in qt/qt5' 2023-09-20 03:20:06 +00:00
qtdoc@bcbe690f02 Update submodules on 'dev in qt/qt5' 2023-09-20 03:20:06 +00:00
qtfeedback@9ac8d8c272
qtgamepad@5fe6fd206f Update submodules on 'dev' in qt/qt5 2019-10-26 14:01:00 +02:00
qtgraphs@6687e4098b Update submodules on 'dev in qt/qt5' 2023-09-20 03:20:06 +00:00
qtgrpc@013fa89ff1 Update submodules on 'dev in qt/qt5' 2023-09-20 03:20:06 +00:00
qthttpserver@2969edfa61 Update submodules on 'dev in qt/qt5' 2023-09-20 03:20:06 +00:00
qtimageformats@36d35e51a1 Update submodules on 'dev in qt/qt5' 2023-09-20 03:20:06 +00:00
qtlanguageserver@fc813a205a Update submodules on 'dev in qt/qt5' 2023-09-20 03:20:06 +00:00
qtlocation@d2d87c865b Update submodules on 'dev in qt/qt5' 2023-09-20 03:20:06 +00:00
qtlottie@67e9ae6204 Update submodules on 'dev in qt/qt5' 2023-09-20 03:20:06 +00:00
qtmqtt@a3e0f87250 Update submodules on 'dev in qt/qt5' 2023-09-20 03:20:06 +00:00
qtmultimedia@425101809a Update submodules on 'dev in qt/qt5' 2023-09-20 03:20:06 +00:00
qtnetworkauth@4a0b9a99a6 Update submodules on 'dev in qt/qt5' 2023-09-20 03:20:06 +00:00
qtopcua@ba354c7c65 Update submodules on 'dev in qt/qt5' 2023-09-20 03:20:06 +00:00
qtpim@02efef5ee6
qtpositioning@d7d3698787 Update submodules on 'dev in qt/qt5' 2023-09-20 03:20:06 +00:00
qtqa@18dd042b24 Update submodules on 'dev in qt/qt5' 2023-09-20 03:20:06 +00:00
qtquick3d@8e377b1947 Update submodules on 'dev in qt/qt5' 2023-09-20 03:20:06 +00:00
qtquick3dphysics@868e0c210e Update submodules on 'dev in qt/qt5' 2023-09-20 03:20:06 +00:00
qtquickeffectmaker@5e1423fe26 Update submodules on 'dev in qt/qt5' 2023-09-20 03:20:06 +00:00
qtquicktimeline@d08c484421 Update submodules on 'dev in qt/qt5' 2023-09-20 03:20:06 +00:00
qtremoteobjects@730928e1f8 Update submodules on 'dev in qt/qt5' 2023-09-20 03:20:06 +00:00
qtrepotools@925e5722f5 Update submodules on 'dev in qt/qt5' 2023-09-18 20:33:28 +00:00
qtscxml@1811cf1edd Update submodules on 'dev in qt/qt5' 2023-09-20 03:20:06 +00:00
qtsensors@0518a92609 Update submodules on 'dev in qt/qt5' 2023-09-20 03:20:06 +00:00
qtserialbus@944ea78042 Update submodules on 'dev in qt/qt5' 2023-09-20 03:20:06 +00:00
qtserialport@1fd9c052fe Update submodules on 'dev in qt/qt5' 2023-09-20 03:20:06 +00:00
qtshadertools@e9570a9855 Update submodules on 'dev in qt/qt5' 2023-09-20 03:20:06 +00:00
qtspeech@1437e8eb0b Update submodules on 'dev in qt/qt5' 2023-09-20 03:20:06 +00:00
qtsvg@b1b17be802 Update submodules on 'dev in qt/qt5' 2023-09-20 03:20:06 +00:00
qtsystems@434af789f0
qttools@a321ea996c Update submodules on 'dev in qt/qt5' 2023-09-20 03:20:06 +00:00
qttranslations@0a9b679c25 Update submodules on 'dev in qt/qt5' 2023-09-20 03:20:06 +00:00
qtvirtualkeyboard@76a15c2007 Update submodules on 'dev in qt/qt5' 2023-09-20 03:20:06 +00:00
qtwayland@ba5f58fc2b Update submodules on 'dev in qt/qt5' 2023-09-20 03:20:06 +00:00
qtwebchannel@46aab6fa13 Update submodules on 'dev in qt/qt5' 2023-09-20 03:20:06 +00:00
qtwebengine@249af86895 Update submodules on 'dev in qt/qt5' 2023-09-20 03:20:06 +00:00
qtwebglplugin@531fb30d53 Update submodules on 'dev' in qt/qt5 2019-10-26 14:01:00 +02:00
qtwebsockets@1a84e35819 Update submodules on 'dev in qt/qt5' 2023-09-20 03:20:06 +00:00
qtwebview@0a563a9a40 Update submodules on 'dev in qt/qt5' 2023-09-20 03:20:06 +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
.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
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
_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
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.