diff options
author | Volker Krause <vkrause@kde.org> | 2022-01-23 13:06:05 +0100 |
---|---|---|
committer | Volker Krause <vkrause@kde.org> | 2022-01-23 14:04:59 +0100 |
commit | 33e3c5eb41ee9c5c3ea326e0b788f9efbfcf2e30 (patch) | |
tree | 5cc276081567bf4ff75821426bf65625d7429f2a | |
parent | 104e5fabae121155511309380bafe1c49db9089a (diff) | |
download | extra-cmake-modules-33e3c5eb41ee9c5c3ea326e0b788f9efbfcf2e30.tar.gz extra-cmake-modules-33e3c5eb41ee9c5c3ea326e0b788f9efbfcf2e30.tar.bz2 |
Forward the Qt6 build option to the CMake test runs
Fixes a number of unit tests that rely on Qt in some form when using Qt6.
-rw-r--r-- | tests/CMakeLists.txt | 13 | ||||
-rw-r--r-- | tests/ECMQmlModuleTest/CMakeLists.txt | 5 | ||||
-rw-r--r-- | tests/ECMQtDeclareLoggingCategoryTest/CMakeLists.txt | 5 |
3 files changed, 18 insertions, 5 deletions
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index f5e114c0..67d878cb 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -37,12 +37,23 @@ add_subdirectory(ECMGenerateHeadersTest) add_subdirectory(ECMSetupVersionTest) add_subdirectory(ECMGeneratePkgConfigFile) +if (TARGET Qt6::Core) + set(QT_VERSION_OPT "-DBUILD_WITH_QT6=ON") +else() + set(QT_VERSION_OPT "-DBUILD_WITH_QT6=OFF") +endif() + # a macro for tests that have a simple format where the name matches the # directory and project macro(add_test_variant NAME BASE COMMAND) string(REPLACE "." "/" src_dir "${BASE}") string(REPLACE "." "/" build_dir "${NAME}") string(REGEX REPLACE "[^.]*\\." "" proj "${NAME}") + if (NOT ${NAME}_EXTRA_OPTIONS) + set(_build_opts --build-options ${QT_VERSION_OPT}) + else() + set(_build_opts ${${NAME}_EXTRA_OPTIONS} ${QT_VERSION_OPT}) + endif() add_test(${NAME} ${CMAKE_CTEST_COMMAND} --build-and-test "${CMAKE_CURRENT_SOURCE_DIR}/${src_dir}" @@ -51,7 +62,7 @@ macro(add_test_variant NAME BASE COMMAND) --build-generator ${CMAKE_GENERATOR} --build-makeprogram ${CMAKE_MAKE_PROGRAM} --build-project ${proj} - ${${NAME}_EXTRA_OPTIONS} + ${_build_opts} --test-command ${COMMAND} ${ARGN}) endmacro() macro(add_test_macro NAME) diff --git a/tests/ECMQmlModuleTest/CMakeLists.txt b/tests/ECMQmlModuleTest/CMakeLists.txt index 49d76594..e0f9e298 100644 --- a/tests/ECMQmlModuleTest/CMakeLists.txt +++ b/tests/ECMQmlModuleTest/CMakeLists.txt @@ -8,8 +8,9 @@ cmake_minimum_required(VERSION 3.5) set(ECM_MODULE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../modules) set(CMAKE_MODULE_PATH "${ECM_FIND_MODULE_DIR}" "${ECM_MODULE_DIR}") +include(QtVersionOption) -find_package(Qt5 REQUIRED COMPONENTS Qml) +find_package(Qt${QT_MAJOR_VERSION} REQUIRED COMPONENTS Qml) include(ECMQmlModule) if(QML_ONLY) @@ -17,7 +18,7 @@ if(QML_ONLY) else() ecm_add_qml_module(TestModule URI Test) target_sources(TestModule PRIVATE qmlmodule.cpp) - target_link_libraries(TestModule Qt5::Qml) + target_link_libraries(TestModule Qt${QT_MAJOR_VERSION}::Qml) endif() if (DEPENDS) diff --git a/tests/ECMQtDeclareLoggingCategoryTest/CMakeLists.txt b/tests/ECMQtDeclareLoggingCategoryTest/CMakeLists.txt index 3e8e859e..603bd7d6 100644 --- a/tests/ECMQtDeclareLoggingCategoryTest/CMakeLists.txt +++ b/tests/ECMQtDeclareLoggingCategoryTest/CMakeLists.txt @@ -4,6 +4,7 @@ set(ECM_MODULE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../modules") set(CMAKE_MODULE_PATH ${ECM_MODULE_DIR}) +include(QtVersionOption) include(ECMQtDeclareLoggingCategory) include(CMakeParseArguments) @@ -44,7 +45,7 @@ ecm_qt_export_logging_category( DESCRIPTION "log 4" ) -find_package(Qt5Core REQUIRED) +find_package(Qt${QT_MAJOR_VERSION}Core REQUIRED) add_executable(testmain testmain.cpp ${sources}) target_include_directories(testmain @@ -53,7 +54,7 @@ target_include_directories(testmain ) target_link_libraries(testmain PRIVATE - Qt5::Core + Qt${QT_MAJOR_VERSION}::Core ) ecm_qt_install_logging_categories( |