From 0384acce9fe18c59605835300c52d4b5bc38db45 Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Wed, 26 Feb 2025 12:07:40 +0100 Subject: build: clean up CMakeLists.txt files --- tests/CMakeLists.txt | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) (limited to 'tests') diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 47b8331..8e5e798 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -1,9 +1,17 @@ -find_package("Catch2" "3.1" +include("FetchContent") + +FetchContent_Declare( + "Catch2" + URL "https://github.com/catchorg/Catch2/archive/refs/tags/v3.7.0.zip" + URL_HASH "SHA256=75b04c94471a70680f10f5d0d985bd1a96b8941d040d6a7bfd43f6c6b1de9daf" + EXCLUDE_FROM_ALL + FIND_PACKAGE_ARGS + "3.7.0" EXACT COMPONENTS "Catch2WithMain" - REQUIRED ) -include("CTest") +FetchContent_MakeAvailable("Catch2") + include("Catch") file(GLOB SOURCES @@ -12,17 +20,16 @@ file(GLOB SOURCES "src/*.cpp" ) - -add_executable("${PROJECT_NAME}_tests" +add_executable("newtype_tests" ${SOURCES} ) -target_link_libraries("${PROJECT_NAME}_tests" - "${PROJECT_NAME}::${PROJECT_NAME}" +target_link_libraries("newtype_tests" + "newtype::lib" "Catch2::Catch2WithMain" ) -target_compile_options("${PROJECT_NAME}_tests" PRIVATE +target_compile_options("newtype_tests" PRIVATE "$<$:-Wall>" "$<$:-Wextra>" "$<$:-Werror>" @@ -30,4 +37,9 @@ target_compile_options("${PROJECT_NAME}_tests" PRIVATE "$<$:-fconcepts-diagnostics-depth=5>" ) -catch_discover_tests("${PROJECT_NAME}_tests") +set_target_properties("newtype_tests" PROPERTIES + CMAKE_CXX_EXTENSIONS OFF + CMAKE_CXX_STANDARD_REQUIRED YES +) + +catch_discover_tests("newtype_tests") -- cgit v1.2.3