qt5base-lts/src
Alexandru Croitor c9bea1ad62 Add initial support for CMake "Ninja Multi-Config" generator
This allows doing debug_and_release builds with Ninja on all
platforms.
The "Ninja Multi-Config generator" is available starting with CMake
3.17.

Desired configurations can be set via CMAKE_CONFIGURATION_TYPES.
Possible values: "Release, Debug, RelWithDebInfo, MinRelSize".
For example -DCMAKE_CONFIGURATION_TYPES="Release;Debug".

The first configuration is the 'default' configuration which is
built when calling ninja with no arguments.

To build all targets of a certain configuration use "ninja all:Release"
or "ninja all:Debug".

To build all targets in all configurations use "ninja all:all".

Note that the first configuration influences which configuration of
tools will be used when building the libraries for all configurations.
In simple terms, when configured with
-DCMAKE_CONFIGURATION_TYPES="Release;Debug" the release version of moc
is used by AUTOMOC.
When configured with -DCMAKE_CONFIGURATION_TYPES="Debug;Release"
the debug version of moc is used by AUTOMOC.

Framework builds and Ninja Multi-Config don't currently work together
due to multiple bugs in CMake, which ends up generating an invalid ninja
file with duplicate rules. There are also issues with placement of the
debug artifacts.

This will be handled in a follow up patch after CMake is fixed.

Task-number: QTBUG-76899
Change-Id: If224adc0b71b7d1d6606738101536146aa866cd7
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-01-27 11:47:57 +00:00
..
3rdparty Merge remote-tracking branch 'origin/dev' into merge-dev 2020-01-24 13:17:33 +01:00
android Merge remote-tracking branch 'origin/dev' into merge-dev 2020-01-24 13:17:33 +01:00
angle Disable debug-and-release builds for MinGW 2019-09-18 06:28:16 +00:00
concurrent Regenerate src/* 2019-11-14 09:05:48 +00:00
corelib Add initial support for CMake "Ninja Multi-Config" generator 2020-01-27 11:47:57 +00:00
dbus Merge remote-tracking branch 'origin/dev' into merge-dev 2020-01-24 13:17:33 +01:00
gui Post Merge Fixes 2020-01-24 12:29:18 +00:00
network Post Merge Fixes 2020-01-24 12:29:18 +00:00
opengl Post Merge Fixes 2020-01-24 12:29:18 +00:00
openglextensions Merge "Merge remote-tracking branch 'origin/dev' into wip/cmake" into wip/cmake 2019-11-25 14:49:13 +00:00
platformheaders Merge remote-tracking branch 'origin/dev' into merge-dev 2020-01-24 13:17:33 +01:00
platformsupport Post Merge Fixes 2020-01-24 12:29:18 +00:00
plugins Post Merge Fixes 2020-01-24 12:29:18 +00:00
printsupport Merge remote-tracking branch 'origin/dev' into merge-dev 2020-01-24 13:17:33 +01:00
sql Merge remote-tracking branch 'origin/dev' into merge-dev 2020-01-24 13:17:33 +01:00
testlib Merge remote-tracking branch 'origin/dev' into merge-dev 2020-01-24 13:17:33 +01:00
tools Add initial support for CMake "Ninja Multi-Config" generator 2020-01-27 11:47:57 +00:00
widgets Post Merge Fixes 2020-01-24 12:29:18 +00:00
winmain Regenerate src/* 2019-11-14 09:05:48 +00:00
xml Merge remote-tracking branch 'origin/dev' into merge-dev 2020-01-24 13:17:33 +01:00
CMakeLists.txt Collect Json Metatypes from CMake's Automoc 2019-12-04 10:48:06 +00:00
src.pro Make the opengl module optionally depend on widgets 2020-01-14 11:31:29 +01:00