aboutsummaryrefslogtreecommitdiff
path: root/cmake/Modules
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@gmail.com>2018-12-15 12:07:00 +0100
committerFelix Morgner <felix.morgner@gmail.com>2018-12-15 12:07:00 +0100
commit9941c06c33c601a3e59c008c35c6181ba8a2e7f9 (patch)
treee5a71e5a3d3c541c82077695a0c302cfa952051d /cmake/Modules
parented419140280553b070943b7ba539120a26ff5686 (diff)
downloadwanda-9941c06c33c601a3e59c008c35c6181ba8a2e7f9.tar.xz
wanda-9941c06c33c601a3e59c008c35c6181ba8a2e7f9.zip
testing: rework test code
Diffstat (limited to 'cmake/Modules')
-rw-r--r--cmake/Modules/WandaTargets.cmake30
1 files changed, 13 insertions, 17 deletions
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_OBJECTS:wanda_test_driver>
)
- target_include_directories("${WANDA_TEST_NAME}_driver" SYSTEM PRIVATE
+ target_include_directories("test_${WANDA_TEST_NAME}" SYSTEM PRIVATE
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>
)
- 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