From 0add63c0435a896285ef7e08a5da1865fff456be Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Sun, 30 Jun 2019 15:28:22 +0200 Subject: build: simplify CMake configuration --- cmake/Modules/CUTE.cmake | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'cmake/Modules/CUTE.cmake') 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 -- cgit v1.2.3