Qt5 super module
Go to file
Sami Shalayel 1f426268ad Add github actions to build qmlls binaries
Add a github action to build a static release build of qmlls.
There should be nightly releases that are build at night on monday,
wednesday and friday (frequency to be adjusted in the future), and
"real" releases that are built when a tag is pushed.

There is also the option to trigger the workflow "by hand" to get
nightly builds.

Nightly qmlls is versioned via qtdeclarative's short SHA,
qmlls-nightly-<short sha>, and "real releases" just follow the tag name
(as long as they have 'qmlls' and not 'nightly' in their tag name).

Add some workaround for the file stripping to have debug information in
a file separate to the qmlls binary.

You can see the github action in action at
https://github.com/samishalayel/qt5/actions/workflows/build_qmlls.yaml

Task-number: QTBUG-126405
Change-Id: I5379215062d7424544663c1519c4e296baf11fba
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2024-09-03 08:02:41 +02:00
.github Add github actions to build qmlls binaries 2024-09-03 08:02:41 +02:00
LICENSES Add license directory and update remaining license format in coin 2023-09-02 13:58:24 +02:00
cmake Add the custom separator support to QtSortModuleDependencies.cmake script 2024-08-25 12:14:12 +02:00
coin platform_configs: remove a few configs in qtwayland.yaml 2024-09-03 08:02:38 +02:00
qt3d@982eef49c7 Update submodules on 'dev in qt/qt5' 2024-08-31 20:08:08 +00:00
qt5compat@ade7a7c032 Update submodules on 'dev in qt/qt5' 2024-08-31 20:08:08 +00:00
qtactiveqt@57e3395e29 Update submodules on 'dev in qt/qt5' 2024-08-31 20:08:08 +00:00
qtbase@de609d84b9 Update submodules on 'dev in qt/qt5' 2024-08-31 20:08:08 +00:00
qtcanvas3d@1319e0965f Update submodules on 'dev' in qt5 2019-01-11 07:40:26 +00:00
qtcharts@685cfab13e Update submodules on 'dev in qt/qt5' 2024-08-31 20:08:08 +00:00
qtcoap@eb10bdc80f Update submodules on 'dev in qt/qt5' 2024-08-31 20:08:08 +00:00
qtconnectivity@e008e50969 Update submodules on 'dev in qt/qt5' 2024-08-31 20:08:08 +00:00
qtdatavis3d@e30b430eec Update submodules on 'dev in qt/qt5' 2024-08-31 20:08:08 +00:00
qtdeclarative@dfda488748 Update submodules on 'dev in qt/qt5' 2024-08-31 20:08:08 +00:00
qtdoc@5629f1fc12 Update submodules on 'dev in qt/qt5' 2024-08-31 20:08:08 +00:00
qtfeedback@9ac8d8c272
qtgamepad@5fe6fd206f Update submodules on 'dev' in qt/qt5 2019-10-26 14:01:00 +02:00
qtgraphs@5cb0d31b0f Update submodules on 'dev in qt/qt5' 2024-08-31 20:08:08 +00:00
qtgrpc@1c6ad4a285 Update submodules on 'dev in qt/qt5' 2024-08-31 20:08:08 +00:00
qthttpserver@172e2d992d Update submodules on 'dev in qt/qt5' 2024-08-31 20:08:08 +00:00
qtimageformats@89aec3ec8d Update submodules on 'dev in qt/qt5' 2024-08-31 20:08:08 +00:00
qtlanguageserver@7b15a5120b Update submodules on 'dev in qt/qt5' 2024-08-31 20:08:08 +00:00
qtlocation@a555a29a4f Update submodules on 'dev in qt/qt5' 2024-08-31 20:08:08 +00:00
qtlottie@3517c35e8e Update submodules on 'dev in qt/qt5' 2024-08-31 20:08:08 +00:00
qtmqtt@84888e818e Update submodules on 'dev in qt/qt5' 2024-08-31 20:08:08 +00:00
qtmultimedia@9fd9531ac2 Update submodules on 'dev in qt/qt5' 2024-08-31 20:08:08 +00:00
qtnetworkauth@2ca6c3f0fd Update submodules on 'dev in qt/qt5' 2024-08-31 20:08:08 +00:00
qtopcua@62c4c0d1df Update submodules on 'dev in qt/qt5' 2024-08-31 20:08:08 +00:00
qtpim@02efef5ee6
qtpositioning@22c046168d Update submodules on 'dev in qt/qt5' 2024-08-31 20:08:08 +00:00
qtqa@7320878aa4 Update submodules on 'dev in qt/qt5' 2024-08-31 20:08:08 +00:00
qtquick3d@6b9aa9cfb6 Update submodules on 'dev in qt/qt5' 2024-08-31 20:08:08 +00:00
qtquick3dphysics@5e4b98976a Update submodules on 'dev in qt/qt5' 2024-08-31 20:08:08 +00:00
qtquickeffectmaker@c426c5affe Update submodules on 'dev in qt/qt5' 2024-08-31 20:08:08 +00:00
qtquicktimeline@b757b44628 Update submodules on 'dev in qt/qt5' 2024-08-31 20:08:08 +00:00
qtremoteobjects@e68df5a9d8 Update submodules on 'dev in qt/qt5' 2024-08-31 20:08:08 +00:00
qtrepotools@5bede66a74 Update submodules on 'dev in qt/qt5' 2024-08-23 03:22:28 +00:00
qtscxml@58648910d2 Update submodules on 'dev in qt/qt5' 2024-08-31 20:08:08 +00:00
qtsensors@ac20bd8f8e Update submodules on 'dev in qt/qt5' 2024-08-31 20:08:08 +00:00
qtserialbus@239fd3b046 Update submodules on 'dev in qt/qt5' 2024-08-31 20:08:08 +00:00
qtserialport@d69475918a Update submodules on 'dev in qt/qt5' 2024-08-31 20:08:08 +00:00
qtshadertools@312ea875bd Update submodules on 'dev in qt/qt5' 2024-08-31 20:08:08 +00:00
qtspeech@d0b9df2683 Update submodules on 'dev in qt/qt5' 2024-08-31 20:08:08 +00:00
qtsvg@6eb73efcd0 Update submodules on 'dev in qt/qt5' 2024-08-31 20:08:08 +00:00
qtsystems@434af789f0
qttools@3650b4e6a2 Update submodules on 'dev in qt/qt5' 2024-08-31 20:08:08 +00:00
qttranslations@958a2d33a7 Update submodules on 'dev in qt/qt5' 2024-08-31 20:08:08 +00:00
qtvirtualkeyboard@585bdf0326 Update submodules on 'dev in qt/qt5' 2024-08-31 20:08:08 +00:00
qtwayland@471e18659b Update submodules on 'dev in qt/qt5' 2024-08-31 20:08:08 +00:00
qtwebchannel@0d787bc163 Update submodules on 'dev in qt/qt5' 2024-08-31 20:08:08 +00:00
qtwebengine@c33a77106b Update submodules on 'dev in qt/qt5' 2024-08-31 20:08:08 +00:00
qtwebglplugin@531fb30d53 Update submodules on 'dev' in qt/qt5 2019-10-26 14:01:00 +02:00
qtwebsockets@d309f72baf Update submodules on 'dev in qt/qt5' 2024-08-31 20:08:08 +00:00
qtwebview@b78d800ec9 Update submodules on 'dev in qt/qt5' 2024-08-31 20:08:08 +00:00
qtxmlpatterns@05ab444844 Update submodules on 'dev' in qt/qt5 2019-10-26 14:01:00 +02:00
tests/manual/RunCMake CMake: Add a test for init-repository 2024-02-28 06:23:50 +01:00
.commit-template Update commit template for Reopens footer 2024-07-25 09:59:10 +00:00
.gitattributes
.gitignore CMake: Integrate init-repository with the configure script 2024-02-28 06:24:02 +01:00
.gitmodules Remove preview status from qtgraphs 2024-08-16 12:05:23 +00:00
.tag
CMakeLists.txt Avoid collecting dependencies from modules that were explicitly skipped 2024-03-22 11:20:31 +01: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 MinGW requirement 2024-04-08 16:48:07 +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 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
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.