Qt5 super module
Go to file
Nils Petter Skålerud c0cadc1d04 macOS, FFmpeg: Don't use patchelf 0.18 for Android FFmpeg patching
At the time of writing, homebrew ships patchelf version 0.18.0. This
version of patchelf has a bug specific to Androd binaries. The macOS
14 arm64 host currently uses this version of patchelf. This causes an
issue during runtime linking in Qt Multimedia applications on Android.

This patch modifies the macOS 14 arm64 host to use patchelf v0.17.2
that we compile from source. It also adds warnings to the provisioning
log should someone try to use v0.18.0 in the future.

Fixes: QTBUG-136930
Pick-to: 6.8
Change-Id: Id66b560e6a1d4300a54017e9c3366720dc291944
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit 61046109cf)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 14dcdd32d7)
2025-09-09 12:27:38 +00:00
.github Revert "Add github actions to build qmlls binaries" 2024-10-01 15:05:10 +00:00
LICENSES Make repository reuse compliant 2025-03-13 06:18:47 +00:00
cmake Remove `RunCMake` helpers from top-level repo 2025-03-31 10:45:33 +01:00
coin macOS, FFmpeg: Don't use patchelf 0.18 for Android FFmpeg patching 2025-09-09 12:27:38 +00:00
qt3d@cb3a834c13 Update qtremoteobjects and qt3d submodules 2025-09-09 15:26:10 +03:00
qt5compat@896c2d6ba9 Update submodules on '6.9 in qt/qt5' 2025-08-22 13:40:03 +00:00
qtactiveqt@fb02728e90 Update submodules on '6.9 in qt/qt5' 2025-08-22 13:40:03 +00:00
qtbase@3beff27402 Update submodules on '6.9 in qt/qt5' 2025-08-22 13:40:03 +00:00
qtcanvas3d@1319e0965f Update submodules on 'dev' in qt5 2019-01-11 07:40:26 +00:00
qtcharts@c4096e1480 Update submodules on '6.9 in qt/qt5' 2025-08-22 13:40:03 +00:00
qtcoap@b3b54d8e03 Update submodules on '6.9 in qt/qt5' 2025-08-22 13:40:03 +00:00
qtconnectivity@75d3026178 Update submodules on '6.9 in qt/qt5' 2025-08-22 13:40:03 +00:00
qtdatavis3d@84cb068c0f Update submodules on '6.9 in qt/qt5' 2025-08-22 13:40:03 +00:00
qtdeclarative@cfb5492074 Update submodules on '6.9 in qt/qt5' 2025-08-22 13:40:03 +00:00
qtdoc@ea19548fb2 Update submodules on '6.9 in qt/qt5' 2025-08-22 13:40:03 +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@f950c42b54 Update submodules on '6.9 in qt/qt5' 2025-08-22 13:40:03 +00:00
qtgrpc@ce77d0f2bb Update submodules on '6.9 in qt/qt5' 2025-08-22 13:40:03 +00:00
qthttpserver@0dfbbd9b33 Update submodules on '6.9 in qt/qt5' 2025-08-22 13:40:03 +00:00
qtimageformats@ca41b1670c Update submodules on '6.9 in qt/qt5' 2025-08-22 13:40:03 +00:00
qtlanguageserver@9ea97905c7 Update submodules on '6.9 in qt/qt5' 2025-08-22 13:40:03 +00:00
qtlocation@555aeef78b Update submodules on '6.9 in qt/qt5' 2025-08-22 13:40:03 +00:00
qtlottie@1a82663c62 Update submodules on '6.9 in qt/qt5' 2025-08-22 13:40:03 +00:00
qtmqtt@2d89f5687f Update submodules on '6.9 in qt/qt5' 2025-08-22 13:40:03 +00:00
qtmultimedia@0c75d8166d Update submodules on '6.9 in qt/qt5' 2025-08-22 13:40:03 +00:00
qtnetworkauth@4347eb52f8 Update submodules on '6.9 in qt/qt5' 2025-08-22 13:40:03 +00:00
qtopcua@ead72b7606 Update submodules on '6.9 in qt/qt5' 2025-08-22 13:40:03 +00:00
qtpim@02efef5ee6 Updated submodules. 2016-06-28 15:58:12 +00:00
qtpositioning@215d568f54 Update submodules on '6.9 in qt/qt5' 2025-08-22 13:40:03 +00:00
qtqa@706189e14c Update submodules on 'dev in qt/qt5' 2024-12-04 03:34:16 +00:00
qtquick3d@960a94263a Update submodules on '6.9 in qt/qt5' 2025-08-22 13:40:03 +00:00
qtquick3dphysics@c3c977b9c2 Update submodules on '6.9 in qt/qt5' 2025-08-22 13:40:03 +00:00
qtquickeffectmaker@f8f46d31b5 Update submodules on '6.9 in qt/qt5' 2025-08-22 13:40:03 +00:00
qtquicktimeline@d0a46c1158 Update submodules on '6.9 in qt/qt5' 2025-08-22 13:40:03 +00:00
qtremoteobjects@1c0d57b91f Update qtremoteobjects and qt3d submodules 2025-09-09 15:26:10 +03:00
qtrepotools@07e83fe951 Update submodules on '6.9 in qt/qt5' 2025-07-08 23:04:35 +00:00
qtscxml@0c51964520 Update submodules on '6.9 in qt/qt5' 2025-08-22 13:40:03 +00:00
qtsensors@1e5a949856 Update submodules on '6.9 in qt/qt5' 2025-08-22 13:40:03 +00:00
qtserialbus@8bd8423877 Update submodules on '6.9 in qt/qt5' 2025-08-22 13:40:03 +00:00
qtserialport@3fcf3ea9a4 Update submodules on '6.9 in qt/qt5' 2025-08-22 13:40:03 +00:00
qtshadertools@515306bd5d Update submodules on '6.9 in qt/qt5' 2025-08-22 13:40:03 +00:00
qtspeech@1b3826d85a Update submodules on '6.9 in qt/qt5' 2025-08-22 13:40:03 +00:00
qtsvg@da99c2b9d3 Update submodules on '6.9 in qt/qt5' 2025-08-22 13:40:03 +00:00
qtsystems@434af789f0 Updated submodules. 2016-06-28 15:58:12 +00:00
qttools@dd8ee454c4 Update submodules on '6.9 in qt/qt5' 2025-08-22 13:40:03 +00:00
qttranslations@63072696b4 Update submodules on '6.9 in qt/qt5' 2025-08-22 13:40:03 +00:00
qtvirtualkeyboard@af5d77ae22 Update submodules on '6.9 in qt/qt5' 2025-08-22 13:40:03 +00:00
qtwayland@eb17909429 Update submodules on '6.9 in qt/qt5' 2025-08-22 13:40:03 +00:00
qtwebchannel@13790cec1e Update submodules on '6.9 in qt/qt5' 2025-08-22 13:40:03 +00:00
qtwebengine@7179c08a57 Update submodules on '6.9 in qt/qt5' 2025-08-22 13:40:03 +00:00
qtwebglplugin@531fb30d53 Update submodules on 'dev' in qt/qt5 2019-10-26 14:01:00 +02:00
qtwebsockets@fca11f017e Update submodules on '6.9 in qt/qt5' 2025-08-22 13:40:03 +00:00
qtwebview@6a41c6e275 Update submodules on '6.9 in qt/qt5' 2025-08-22 13:40:03 +00:00
qtxmlpatterns@05ab444844 Update submodules on 'dev' in qt/qt5 2019-10-26 14:01:00 +02:00
tests/manual/RunCMake Remove `RunCMake` helpers from top-level repo 2025-03-31 10:45:33 +01:00
.commit-template Update commit template for Reopens footer 2024-07-25 09:59:10 +00:00
.gitattributes Turn off line ending conversion for .commit-template 2017-07-21 05:44:28 +00:00
.gitignore CMake: Integrate init-repository with the configure script 2024-02-28 06:24:02 +01:00
.gitmodules Adjust submodule branches 2024-12-09 06:11:28 +00:00
.gitreview Add .gitreview file 2025-02-20 09:06:07 +00:00
.tag Update the git-archive export options 2012-09-05 14:33:37 +02:00
CMakeLists.txt CMake: Don't enable ASM language 2025-05-08 16:46:52 +00:00
CONTRIBUTING.md Doc: Create a CONTRIBUTING.md file 2023-12-12 06:17:16 +00:00
README.git Update README.git to mention Qt 6 2022-06-23 08:18:48 +02:00
README.md README.md: Update minimal versions of Windows compilers 2024-12-22 13:35:37 +00:00
README.md.template Doc: Create README template 2023-09-23 10:27:29 +02:00
REUSE.toml Make repository reuse compliant 2025-03-13 06:18:47 +00:00
_clang-format Make repository reuse compliant 2025-03-13 06:18:47 +00:00
configure Do not assume FHS in init-repository and configure 2024-06-28 17:41:38 +02:00
configure.bat CMake: Integrate init-repository with the configure script 2024-02-28 06:24:02 +01:00
configure.json automatically launch new configure system in top-level builds 2016-09-15 06:52:35 +00:00
init-repository Do not assume FHS in init-repository and configure 2024-06-28 17:41:38 +02:00
init-repository.bat CMake: Rewrite init-repository using CMake and .sh / .bat scripts 2024-02-28 06:23:36 +01:00
init-repository.pl CMake: Rename init-repository script to make space for cmake script 2024-02-28 06:23:32 +01: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.