clean some test targets
This commit is contained in:
parent
198caa700b
commit
22c552b50f
5 changed files with 67 additions and 25 deletions
38
infra/cmake/TestTargets.cmake
Normal file
38
infra/cmake/TestTargets.cmake
Normal file
|
@ -0,0 +1,38 @@
|
|||
macro(unit_tests)
|
||||
set(oneValueArgs MODULE_NAME)
|
||||
set(multiValueArgs FILES DEPENDENCIES)
|
||||
cmake_parse_arguments(UNIT_TESTS "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} )
|
||||
|
||||
set(TARGET_NAME ${UNIT_TESTS_MODULE_NAME}_unit_tests)
|
||||
add_executable(${TARGET_NAME} ${CMAKE_SOURCE_DIR}/test/test_runner.cpp ${UNIT_TESTS_FILES})
|
||||
target_link_libraries(${TARGET_NAME} PUBLIC test_utils ${UNIT_TESTS_DEPENDENCIES})
|
||||
|
||||
set_property(TARGET ${TARGET_NAME} PROPERTY FOLDER test/${UNIT_TESTS_MODULE_NAME})
|
||||
|
||||
set(UNIT_TEST_TARGETS ${UNIT_TEST_TARGETS} ${TARGET_NAME} PARENT_SCOPE)
|
||||
endmacro()
|
||||
|
||||
macro(integration_tests)
|
||||
set(oneValueArgs MODULE_NAME)
|
||||
set(multiValueArgs FILES FILES_UNIX FILES_WINDOWS DEPENDENCIES)
|
||||
cmake_parse_arguments(UNIT_TESTS "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} )
|
||||
|
||||
set(TARGET_NAME ${UNIT_TESTS_MODULE_NAME}_unit_tests)
|
||||
|
||||
set(PLATFORM_FILES)
|
||||
if(UNIX)
|
||||
list(APPEND PLATFORM_FILES ${UNIT_TESTS_UNIX_FILES}
|
||||
elseif(WIN32)
|
||||
list(APPEND PLATFORM_FILES ${UNIT_TESTS_WIN32_FILES}
|
||||
endif()
|
||||
|
||||
add_executable(${TARGET_NAME} ${CMAKE_SOURCE_DIR}/test/test_runner.cpp
|
||||
${UNIT_TESTS_FILES}
|
||||
${PLATFORM_FILES}
|
||||
)
|
||||
target_link_libraries(${TARGET_NAME} PUBLIC test_utils ${UNIT_TESTS_DEPENDENCIES})
|
||||
|
||||
set_property(TARGET ${TARGET_NAME} PROPERTY FOLDER test/${UNIT_TESTS_MODULE_NAME})
|
||||
|
||||
set(UNIT_TEST_TARGETS ${UNIT_TEST_TARGETS} ${TARGET_NAME} PARENT_SCOPE)
|
||||
endmacro()
|
Loading…
Add table
Add a link
Reference in a new issue