From 19a333165631f30556ee675ffb1cd5769eb82789 Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Fri, 29 Nov 2019 11:33:34 +0100 Subject: build: use CUTE via conan --- CMakeLists.txt | 33 +++++++++++++++++++++++++++++---- 1 file changed, 29 insertions(+), 4 deletions(-) (limited to 'CMakeLists.txt') 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 -- cgit v1.2.3