From 9941c06c33c601a3e59c008c35c6181ba8a2e7f9 Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Sat, 15 Dec 2018 12:07:00 +0100 Subject: testing: rework test code --- cmake/Modules/WandaTargets.cmake | 30 +++++++++++++----------------- 1 file changed, 13 insertions(+), 17 deletions(-) (limited to 'cmake') diff --git a/cmake/Modules/WandaTargets.cmake b/cmake/Modules/WandaTargets.cmake index 38fc169..4fc429c 100644 --- a/cmake/Modules/WandaTargets.cmake +++ b/cmake/Modules/WandaTargets.cmake @@ -92,44 +92,40 @@ endfunction() function(add_wanda_test) set(OPTIONS) set(SV_ARGS "NAME") - set(MV_ARGS "SOURCES;HEADERS;LIBRARIES") + set(MV_ARGS "HEADERS;LIBRARIES") cmake_parse_arguments(WANDA_TEST "${OPTIONS}" "${SV_ARGS}" "${MV_ARGS}" ${ARGN}) if(NOT WANDA_TEST_NAME) message(FATAL_ERROR "Missing argument 'NAME' to call of 'add_wanda_test'") endif() - if(NOT WANDA_TEST_SOURCES) - message(FATAL_ERROR "Missing argument 'SOURCES' to call of 'add_wanda_test'") + if(NOT CUTE_FOUND) + message(STATUS "CUTE not found. Skipping test '${WANDA_TEST_NAME}'") + return() endif() - set(RESOLVED_SOURCES) - foreach(SOURCE IN LISTS WANDA_TEST_SOURCES) - list(APPEND RESOLVED_SOURCES "tests/wanda/${SOURCE}") - endforeach() - set(RESOLVED_HEADERS) foreach(HEADER IN LISTS WANDA_TEST_HEADERS) - list(APPEND RESOLVED_HEADERS "tests/wanda/${HEADER}") + list(APPEND RESOLVED_HEADERS "include/wanda/${HEADER}") endforeach() - if(NOT CUTE_FOUND) - message(STATUS "CUTE not found. Skipping test '${WANDA_TEST_NAME}'") - return() + if(NOT TARGET "wanda_test_driver") + add_library("wanda_test_driver" OBJECT "tests/wanda/driver.cpp") endif() - add_executable("${WANDA_TEST_NAME}_driver" - ${RESOLVED_SOURCES} # Source files + add_executable("test_${WANDA_TEST_NAME}" + "tests/wanda/test_suite_${WANDA_TEST_NAME}.cpp" ${RESOLVED_HEADERS} # Header files + $ ) - target_include_directories("${WANDA_TEST_NAME}_driver" SYSTEM PRIVATE + target_include_directories("test_${WANDA_TEST_NAME}" SYSTEM PRIVATE $ ) - target_link_libraries("${WANDA_TEST_NAME}_driver" + target_link_libraries("test_${WANDA_TEST_NAME}" ${WANDA_TEST_LIBRARIES} ) - add_test(NAME "${WANDA_TEST_NAME}" COMMAND "${WANDA_TEST_NAME}_driver") + add_test(NAME "${WANDA_TEST_NAME}" COMMAND "test_${WANDA_TEST_NAME}") endfunction() \ No newline at end of file -- cgit v1.2.3