From dcfc4679591937c90a06729e676226708ad1c954 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Fri, 11 Jun 2021 13:42:49 +0200 Subject: [PATCH] Revert "CMakePM: Filter test also by BUILD_EXECUTABLES list" This reverts commit 99396421de06f09f8532baad3303ec6dd0ee96fe. The patch does not solve the use case (building Qt Creator without tests and then only building individual tests), and has lots of side effects like tests landing in the application bundle on macOS and in bin on Windows, and tests being installed. Change-Id: I593627b55577e13a3d2cf1758deac99efa521954 Reviewed-by: Christian Stenger --- cmake/QtCreatorAPI.cmake | 25 +++++++++++++++---------- tests/unit/unittest/CMakeLists.txt | 4 ---- 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/cmake/QtCreatorAPI.cmake b/cmake/QtCreatorAPI.cmake index 1625daf03be..18f9120ded8 100644 --- a/cmake/QtCreatorAPI.cmake +++ b/cmake/QtCreatorAPI.cmake @@ -799,26 +799,31 @@ function(add_qtc_test name) endif() endforeach() + set(TEST_DEFINES SRCDIR="${CMAKE_CURRENT_SOURCE_DIR}") + + # relax cast requirements for tests + set(default_defines_copy ${DEFAULT_DEFINES}) + list(REMOVE_ITEM default_defines_copy QT_NO_CAST_TO_ASCII QT_RESTRICTED_CAST_FROM_ASCII) + file(RELATIVE_PATH _RPATH "/${IDE_BIN_PATH}" "/${IDE_LIBRARY_PATH}") - add_qtc_executable(${name} - SOURCES ${_arg_SOURCES} - DEPENDS ${_arg_DEPENDS} - INCLUDES ${_arg_INCLUDES} - DEFINES ${_arg_DEFINES} + add_executable(${name} ${_arg_SOURCES}) + + extend_qtc_target(${name} + DEPENDS ${_arg_DEPENDS} ${IMPLICIT_DEPENDS} + INCLUDES "${CMAKE_BINARY_DIR}/src" ${_arg_INCLUDES} + DEFINES ${_arg_DEFINES} ${TEST_DEFINES} ${default_defines_copy} EXPLICIT_MOC ${_arg_EXPLICIT_MOC} SKIP_AUTOMOC ${_arg_SKIP_AUTOMOC} - ALLOW_ASCII_CASTS ) - if (NOT TARGET ${name}) - return() - endif() - set_target_properties(${name} PROPERTIES + CXX_VISIBILITY_PRESET hidden + VISIBILITY_INLINES_HIDDEN ON BUILD_RPATH "${_RPATH_BASE}/${_RPATH}" INSTALL_RPATH "${_RPATH_BASE}/${_RPATH}" ) + enable_pch(${name}) if (NOT _arg_GTEST) add_test(NAME ${name} COMMAND ${name}) diff --git a/tests/unit/unittest/CMakeLists.txt b/tests/unit/unittest/CMakeLists.txt index c600016cf60..14b1263563a 100644 --- a/tests/unit/unittest/CMakeLists.txt +++ b/tests/unit/unittest/CMakeLists.txt @@ -194,10 +194,6 @@ add_qtc_test(unittest GTEST mockimagecachestorage.h ) -if (NOT TARGET unittest) - return() -endif() - function(extend_qtc_test_with_target_sources target) cmake_parse_arguments(_arg "" "" "DEFINES;INCLUDES" ${ARGN})