From 1357d49ae6c6d2a1d4ac02b9e08dd5e571a3acf8 Mon Sep 17 00:00:00 2001 From: Paul Zander Date: Thu, 17 Sep 2026 23:33:06 +0200 Subject: use system catch Signed-off-by: Paul Zander diff --git a/cmake/external_projects/catch.cmake b/cmake/external_projects/catch.cmake index 57127b22..a965bc17 100644 --- a/cmake/external_projects/catch.cmake +++ b/cmake/external_projects/catch.cmake @@ -1,3 +1,28 @@ +message(STATUS "CMAKE_GENTOO_BUILD ${CMAKE_GENTOO_BUILD}") +if(CMAKE_GENTOO_BUILD) +cmake_minimum_required(VERSION 3.24) # Required for FIND_PACKAGE_ARGS + +include(FetchContent) + +FetchContent_Declare( + Catch2 + GIT_REPOSITORY https://github.com + GIT_TAG v2.13.7 + SYSTEM + FIND_PACKAGE_ARGS NAMES Catch2 +) +FetchContent_MakeAvailable(Catch2) + +if(NOT CATCH_INCLUDE_DIR) + if(Catch2_POPULATED) + set(CATCH_INCLUDE_DIR "${catch2_SOURCE_DIR}/single_include" CACHE INTERNAL "Path to include folder for Catch") + else() + get_target_property(CATCH_INCLUDE_DIR Catch2::Catch2 INTERFACE_INCLUDE_DIRECTORIES) + set(CATCH_INCLUDE_DIR "${CATCH_INCLUDE_DIR}" CACHE INTERNAL "Path to include folder for Catch") + endif() +endif() +add_library(project_catch ALIAS Catch2::Catch2) +else() include (ExternalProject) find_program(GIT_EXECUTABLE git) ExternalProject_Add( @@ -16,3 +39,4 @@ ExternalProject_Add( # Expose required variable (CATCH_INCLUDE_DIR) to parent scope ExternalProject_Get_Property(project_catch source_dir) set(CATCH_INCLUDE_DIR ${source_dir}/single_include CACHE INTERNAL "Path to include folder for Catch") +endif() -- 2.55.0