CMake: Fix auto-detection of precompiled header support
PCH files were only used while building qtbase. Make sure the value is exported to the BuildInternalsConfig file, so the value is re-used when building other repositories. Also disable PCH when building simulator_and_device iOS builds, because CMake doesn't currently generate separate PCH files per architecture. Change-Id: I79955ebc557b800bc3c704deac519fe80012c229 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
This commit is contained in:
parent
874c6b00dd
commit
0446bf5ba3
@ -46,9 +46,6 @@ if(NOT QT_BUILD_STANDALONE_TESTS)
|
|||||||
## Should this Qt be built with Werror?
|
## Should this Qt be built with Werror?
|
||||||
option(WARNINGS_ARE_ERRORS "Build Qt with warnings as errors" ${FEATURE_developer_build})
|
option(WARNINGS_ARE_ERRORS "Build Qt with warnings as errors" ${FEATURE_developer_build})
|
||||||
|
|
||||||
## Should Qt be built using PCH?
|
|
||||||
option(BUILD_WITH_PCH "Build Qt using precompiled headers?" ON)
|
|
||||||
|
|
||||||
## QtBase specific configure tests:
|
## QtBase specific configure tests:
|
||||||
include(QtBaseConfigureTests)
|
include(QtBaseConfigureTests)
|
||||||
|
|
||||||
|
@ -202,8 +202,25 @@ function(qt_auto_detect_darwin)
|
|||||||
endif()
|
endif()
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
|
function(qt_auto_detect_pch)
|
||||||
|
set(default_value "ON")
|
||||||
|
|
||||||
|
if(CMAKE_OSX_ARCHITECTURES)
|
||||||
|
list(LENGTH CMAKE_OSX_ARCHITECTURES arch_count)
|
||||||
|
# CMake doesn't currently support PCH when multiple architecture are set. This is the
|
||||||
|
# case for simulator_and_device builds.
|
||||||
|
if(arch_count GREATER 1)
|
||||||
|
set(default_value "OFF")
|
||||||
|
message(WARNING "PCH support disabled due to usage of multiple architectures.")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
option(BUILD_WITH_PCH "Build Qt using precompiled headers?" "${default_value}")
|
||||||
|
endfunction()
|
||||||
|
|
||||||
qt_auto_detect_cmake_config()
|
qt_auto_detect_cmake_config()
|
||||||
qt_auto_detect_darwin()
|
qt_auto_detect_darwin()
|
||||||
qt_auto_detect_ios()
|
qt_auto_detect_ios()
|
||||||
qt_auto_detect_android()
|
qt_auto_detect_android()
|
||||||
qt_auto_detect_vpckg()
|
qt_auto_detect_vpckg()
|
||||||
|
qt_auto_detect_pch()
|
||||||
|
@ -361,6 +361,10 @@ function(qt_generate_build_internals_extra_cmake_code)
|
|||||||
string(APPEND QT_EXTRA_BUILD_INTERNALS_VARS
|
string(APPEND QT_EXTRA_BUILD_INTERNALS_VARS
|
||||||
"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(DEFINED BUILD_WITH_PCH)
|
||||||
|
string(APPEND QT_EXTRA_BUILD_INTERNALS_VARS
|
||||||
|
"set(BUILD_WITH_PCH \"${BUILD_WITH_PCH}\" CACHE STRING \"\")\n")
|
||||||
|
endif()
|
||||||
|
|
||||||
qt_generate_install_prefixes(install_prefix_content)
|
qt_generate_install_prefixes(install_prefix_content)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user