1234567891011121314151617181920212223242526272829 |
- project(test_include_dirs)
- include(CTest)
- enable_testing()
- add_executable(dummy dummy.cpp)
- function(generate_tests NAME)
- set(ctest_file "${CMAKE_CURRENT_BINARY_DIR}/${NAME}_tests.cmake")
- add_custom_command(
- OUTPUT "${ctest_file}"
- COMMAND "${CMAKE_COMMAND}"
- -D "TEST_EXECUTABLE=$<TARGET_FILE:dummy>"
- -D "TEST_SUITE=${NAME}"
- -D "TEST_NAMES=${ARGN}"
- -D "CTEST_FILE=${ctest_file}"
- -P "${CMAKE_CURRENT_SOURCE_DIR}/add-tests.cmake"
- VERBATIM
- )
- add_custom_target(${NAME}_tests ALL DEPENDS "${ctest_file}")
- endfunction()
- generate_tests(house dog cat)
- generate_tests(farm cow pig)
- generate_tests(zoo fox emu)
- set_property(DIRECTORY PROPERTY TEST_INCLUDE_FILE "house_tests.cmake")
- set_property(DIRECTORY APPEND PROPERTY TEST_INCLUDE_FILES "farm_tests.cmake")
- set_property(DIRECTORY APPEND PROPERTY TEST_INCLUDE_FILES "zoo_tests.cmake")
|