Files
QSfera/Desktop/test/qsfera_add_test.cmake
Курнат Андрей 2315f25754 Initial QSfera import
2026-06-07 10:20:04 +03:00

30 lines
1.2 KiB
CMake

include(OCApplyCommonSettings)
find_package(Qt6 COMPONENTS Test REQUIRED)
include(ECMAddTests)
function(qsfera_add_test test_class)
set(OC_TEST_CLASS ${test_class})
string(TOLOWER "${OC_TEST_CLASS}" OC_TEST_CLASS_LOWERCASE)
set(SRC_PATH test${OC_TEST_CLASS_LOWERCASE}.cpp)
if (IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/test${OC_TEST_CLASS_LOWERCASE}/)
set(SRC_PATH test${OC_TEST_CLASS_LOWERCASE}/${SRC_PATH})
endif()
ecm_add_tests(${SRC_PATH}
LINK_LIBRARIES
QSferaGui syncenginetestutils testutilsloader Qt::Test
TARGET_NAMES_VAR _test_target_name
)
apply_common_target_settings(${_test_target_name})
target_compile_definitions(${_test_target_name} PRIVATE SOURCEDIR="${PROJECT_SOURCE_DIR}" QT_FORCE_ASSERTS)
# Depend on qsfera to ensure the plugins are up to date.
add_dependencies(${_test_target_name} qsfera)
add_dependencies(${_test_target_name} test_helper)
target_include_directories(${_test_target_name} PRIVATE "${CMAKE_SOURCE_DIR}/test/")
if ((UNIX AND NOT APPLE) OR WIN32)
set_property(TEST ${_test_target_name} PROPERTY ENVIRONMENT "QT_QPA_PLATFORM=offscreen;QT_LOGGING_RULES=*=true")
endif()
endfunction()