aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@gmail.com>2019-11-29 11:33:34 +0100
committerFelix Morgner <felix.morgner@gmail.com>2019-11-29 11:33:34 +0100
commit19a333165631f30556ee675ffb1cd5769eb82789 (patch)
treeebdcd317598bad84f2f57539a9a98bd4e4821fc4 /CMakeLists.txt
parent16b821f0b921105b2fb40c222d97f1dcadd613d7 (diff)
downloadwanda-19a333165631f30556ee675ffb1cd5769eb82789.tar.xz
wanda-19a333165631f30556ee675ffb1cd5769eb82789.zip
build: use CUTE via conan
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt33
1 files changed, 29 insertions, 4 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 628fd37..b116b82 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -28,7 +28,7 @@ if(NOT CMAKE_ARCHIVE_OUTPUT_DIRECTORY)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/lib")
endif()
-include("CUTE")
+enable_testing()
# Conan Dependencies
@@ -37,6 +37,9 @@ include("Conan")
conan_add_remote(NAME "bincrafters"
URL "https://api.bintray.com/conan/bincrafters/public-conan"
)
+conan_add_remote(NAME "bincrafters"
+ URL "https://api.bintray.com/conan/fmorgner/conan-public"
+)
conan_cmake_run(CONANFILE "conanfile.py"
BASIC_SETUP
CMAKE_TARGETS
@@ -132,9 +135,31 @@ target_link_libraries("${PROJECT_NAME}c"
# Automated Tests
-if(CUTE_FOUND)
- cute_test("xdg")
-endif()
+add_library("${PROJECT_NAME}_test_driver" OBJECT
+ "tests/${PROJECT_NAME}/driver.cpp"
+)
+target_link_libraries("${PROJECT_NAME}_test_driver"
+ "CONAN_PKG::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()
+
+cute_test("xdg")
# Install Targets