blob: 1ac1a8b70f81b0ce8e2788179b81b1314fbaac07 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
From 1357d49ae6c6d2a1d4ac02b9e08dd5e571a3acf8 Mon Sep 17 00:00:00 2001
From: Paul Zander <negril.nx@gmail.com>
Date: Thu, 17 Sep 2026 23:33:06 +0200
Subject: use system catch
Signed-off-by: Paul Zander <negril.nx@gmail.com>
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
|