diff options
| author | Felix Morgner <felix.morgner@gmail.com> | 2019-06-30 15:28:22 +0200 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@gmail.com> | 2019-06-30 15:28:22 +0200 |
| commit | 0add63c0435a896285ef7e08a5da1865fff456be (patch) | |
| tree | abca662ba79a525d071025a06a59d49af9adf631 /cmake/Modules/CUTE.cmake | |
| parent | 985bf04283f4f20c7c0616df0219add9f03558ac (diff) | |
| download | wanda-0add63c0435a896285ef7e08a5da1865fff456be.tar.xz wanda-0add63c0435a896285ef7e08a5da1865fff456be.zip | |
build: simplify CMake configuration
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 |
