CMake: Default to building all configurations with Ninja Multi-Config
Thus we will build both Release and Debug configurations in Coin when cmake --build . is executed, mimicking qmake's make which builds both configurations in debug_and_release. Task-number: QTBUG-80900 Change-Id: If48aca249eb84e690d3f9d51a733b3a25df1f7ca Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
This commit is contained in:
parent
06b148074a
commit
fae09465c7
@ -172,8 +172,15 @@ function(qt_auto_detect_cmake_config)
|
|||||||
|
|
||||||
set(CMAKE_TRY_COMPILE_CONFIGURATION "${QT_MULTI_CONFIG_FIRST_CONFIG}" PARENT_SCOPE)
|
set(CMAKE_TRY_COMPILE_CONFIGURATION "${QT_MULTI_CONFIG_FIRST_CONFIG}" PARENT_SCOPE)
|
||||||
if(CMAKE_GENERATOR STREQUAL "Ninja Multi-Config")
|
if(CMAKE_GENERATOR STREQUAL "Ninja Multi-Config")
|
||||||
|
# Create build-<config>.ninja files for all specified configurations.
|
||||||
set(CMAKE_CROSS_CONFIGS "all" CACHE STRING "")
|
set(CMAKE_CROSS_CONFIGS "all" CACHE STRING "")
|
||||||
|
|
||||||
|
# The configuration that will be considered the main one (for example when
|
||||||
|
# configuring standalone tests with a single-config generator like Ninja).
|
||||||
set(CMAKE_DEFAULT_BUILD_TYPE "${QT_MULTI_CONFIG_FIRST_CONFIG}" CACHE STRING "")
|
set(CMAKE_DEFAULT_BUILD_TYPE "${QT_MULTI_CONFIG_FIRST_CONFIG}" CACHE STRING "")
|
||||||
|
|
||||||
|
# By default when ninja is called without parameters, it will build all configurations.
|
||||||
|
set(CMAKE_DEFAULT_CONFIGS "all" CACHE STRING "")
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
endfunction()
|
endfunction()
|
||||||
|
@ -381,7 +381,6 @@ function(qt_generate_build_internals_extra_cmake_code)
|
|||||||
if(QT_BUILD_STANDALONE_TESTS)
|
if(QT_BUILD_STANDALONE_TESTS)
|
||||||
set(CMAKE_BUILD_TYPE \"\${QT_MULTI_CONFIG_FIRST_CONFIG}\" CACHE STRING \"Choose the type of build.\" FORCE)
|
set(CMAKE_BUILD_TYPE \"\${QT_MULTI_CONFIG_FIRST_CONFIG}\" CACHE STRING \"Choose the type of build.\" FORCE)
|
||||||
endif()\n")
|
endif()\n")
|
||||||
string(APPEND QT_EXTRA_BUILD_INTERNALS_VARS "${multi_config_specific}")
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(CMAKE_CROSS_CONFIGS)
|
if(CMAKE_CROSS_CONFIGS)
|
||||||
@ -392,6 +391,10 @@ endif()\n")
|
|||||||
string(APPEND ninja_multi_config_specific
|
string(APPEND ninja_multi_config_specific
|
||||||
" set(CMAKE_DEFAULT_BUILD_TYPE \"${CMAKE_DEFAULT_BUILD_TYPE}\" CACHE STRING \"\")\n")
|
" set(CMAKE_DEFAULT_BUILD_TYPE \"${CMAKE_DEFAULT_BUILD_TYPE}\" CACHE STRING \"\")\n")
|
||||||
endif()
|
endif()
|
||||||
|
if(CMAKE_DEFAULT_CONFIGS)
|
||||||
|
string(APPEND ninja_multi_config_specific
|
||||||
|
" set(CMAKE_DEFAULT_CONFIGS \"${CMAKE_DEFAULT_CONFIGS}\" CACHE STRING \"\")\n")
|
||||||
|
endif()
|
||||||
if(ninja_multi_config_specific)
|
if(ninja_multi_config_specific)
|
||||||
qt_wrap_string_in_if_ninja_multi_config(
|
qt_wrap_string_in_if_ninja_multi_config(
|
||||||
"${ninja_multi_config_specific}"
|
"${ninja_multi_config_specific}"
|
||||||
|
Loading…
Reference in New Issue
Block a user