aboutsummaryrefslogtreecommitdiff
path: root/cmake/Modules/CUTE.cmake
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@gmail.com>2019-06-30 15:28:22 +0200
committerFelix Morgner <felix.morgner@gmail.com>2019-06-30 15:28:22 +0200
commit0add63c0435a896285ef7e08a5da1865fff456be (patch)
treeabca662ba79a525d071025a06a59d49af9adf631 /cmake/Modules/CUTE.cmake
parent985bf04283f4f20c7c0616df0219add9f03558ac (diff)
downloadwanda-0add63c0435a896285ef7e08a5da1865fff456be.tar.xz
wanda-0add63c0435a896285ef7e08a5da1865fff456be.zip
build: simplify CMake configuration
Diffstat (limited to 'cmake/Modules/CUTE.cmake')
-rw-r--r--cmake/Modules/CUTE.cmake24
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