diff options
Diffstat (limited to 'cmake/Modules/CUTE.cmake')
| -rw-r--r-- | cmake/Modules/CUTE.cmake | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/cmake/Modules/CUTE.cmake b/cmake/Modules/CUTE.cmake index 1f0e7df..77dd95b 100644 --- a/cmake/Modules/CUTE.cmake +++ b/cmake/Modules/CUTE.cmake @@ -8,4 +8,28 @@ else() add_library("LIB::CUTE" INTERFACE IMPORTED) set_property(TARGET "LIB::CUTE" PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${PROJECT_SOURCE_DIR}/lib/cute") set(CUTE_FOUND ON) + + add_library("${PROJECT_NAME}_test_driver" OBJECT + "tests/${PROJECT_NAME}/driver.cpp" + ) + target_include_directories("${PROJECT_NAME}_test_driver" SYSTEM + PUBLIC "${PROJECT_SOURCE_DIR}/lib/cute" + ) + + function("cute_test" SUITE_NAME) + if(NOT SUITE_NAME) + message(FATAL_ERROR "Missing argument 'SUITE_NAME'!") + endif() + + add_executable("${PROJECT_NAME}_${SUITE_NAME}_tests" + "tests/${PROJECT_NAME}/test_suite_${SUITE_NAME}.cpp" + ) + target_link_libraries("${PROJECT_NAME}_${SUITE_NAME}_tests" + "${PROJECT_NAME}_test_driver" + "${PROJECT_NAME}" + ) + add_test(NAME "${SUITE_NAME}_tests" + COMMAND "${PROJECT_NAME}_${SUITE_NAME}_tests" + ) + endfunction() endif()
\ No newline at end of file |
