07b6d3367d
Introduce a bunch of helper functions to manipulate compiler flags and linker flags for the CMAKE_<LANG>_FLAGS_<CONFIG> and CMAKE_<LINK_TYPE>_LINKER_FLAGS_<CONFIG> CMake variables. These variables can be assigned and modified either in the cache or for a specific subdirectory scope, which will apply the flags only to targets in that scope. Add qt_internal_add_optimize_full_flags() function which mimics qmake's CONFIG += optimize_full behavior. Calling it will force usage of the '-O3' optimization flag on supported platforms (falling back '-O2' where not supported). Use the function for the Core and Gui subdirectories, to enable full optimization for the respective Qt modules as it is done in the qmake projects. To ensure that the global qmake-like compiler flags are assigned eveywhere, qt_internal_set_up_config_optimizations_like_in_qmake() needs to be called after Qt global features like optimize_size and optimize_full are available. This means that qtbase and its standalone tests need some special handling in regards to when to call that function. Task-number: QTBUG-86866 Change-Id: Ic7ac23de0265561cb06a0ba55089b6c0d3347441 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
24 lines
1.1 KiB
CMake
24 lines
1.1 KiB
CMake
# Generated from tests.pro.
|
|
|
|
if(QT_BUILD_STANDALONE_TESTS)
|
|
# Add qt_find_package calls for extra dependencies that need to be found when building
|
|
# the standalone tests here.
|
|
# special case begin
|
|
|
|
# Needed for early feature values, despite it being found later on in qt_build_tests().
|
|
# Needs to be find_package, not qt_find_package, because qt_find_package doesn't handle finding
|
|
# component for a super-package that has already been found.
|
|
find_package(Qt6 ${PROJECT_VERSION} CONFIG REQUIRED COMPONENTS Core)
|
|
|
|
# Modify the optimization flags specifically for qtbase standalone tests. Other projects
|
|
# are handled by qt_enable_cmake_languages().
|
|
qt_internal_set_up_config_optimizations_like_in_qmake()
|
|
|
|
qt_find_package(WrapDBus1 PROVIDED_TARGETS dbus-1)
|
|
qt_find_package(ICU COMPONENTS i18n uc data PROVIDED_TARGETS ICU::i18n ICU::uc ICU::data)
|
|
qt_find_package(WrapOpenSSL PROVIDED_TARGETS WrapOpenSSL::WrapOpenSSL)
|
|
qt_find_package(WrapOpenSSLHeaders PROVIDED_TARGETS WrapOpenSSLHeaders::WrapOpenSSLHeaders)
|
|
# special case end
|
|
endif()
|
|
qt_build_tests()
|