@@ -19,36 +19,43 @@ message(STATUS "base dir: ${FETCHCONTENT_BASE_DIR}")
1919message (STATUS "dnld dir: ${3rdparty_DOWNLOAD_DIR} " )
2020
2121macro (ThirdPartiesAdd_Catch2)
22- set (3rdparty_Catch2_VERSION "3.4.0" CACHE STRING "Embedded catch2 version" )
23- set (3rdparty_Catch2_CHECKSUM "SHA256=122928b814b75717316c71af69bd2b43387643ba076a6ec16e7882bfb2dfacbb" CACHE STRING "Embedded catch2 checksum" )
24- set (3rdparty_Catch2_URL "https://github.com/catchorg/Catch2/archive/refs/tags/v${3rdparty_Catch2_VERSION} .tar.gz" )
25- set (CATCH_BUILD_EXAMPLES OFF CACHE INTERNAL "" )
26- set (CATCH_BUILD_EXTRA_TESTS OFF CACHE INTERNAL "" )
27- set (CATCH_BUILD_TESTING OFF CACHE INTERNAL "" )
28- set (CATCH_ENABLE_WERROR OFF CACHE INTERNAL "" )
29- set (CATCH_INSTALL_DOCS OFF CACHE INTERNAL "" )
30- set (CATCH_INSTALL_HELPERS OFF CACHE INTERNAL "" )
31- if (THIRDPARTIES_HAS_FETCHCONTENT)
32- FetchContent_Declare(
33- Catch2
34- URL "${3rdparty_Catch2_URL} "
35- URL_HASH "${3rdparty_Catch2_CHECKSUM} "
36- DOWNLOAD_DIR "${3rdparty_DOWNLOAD_DIR} "
37- DOWNLOAD_NAME "catch2-${3rdparty_Catch2_VERSION} .tar.gz"
38- EXCLUDE_FROM_ALL
39- DOWNLOAD_EXTRACT_TIMESTAMP 1
40- )
41- FetchContent_MakeAvailable(Catch2)
22+ #find_package(Catch2 QUIET)
23+ find_package (Catch2)
24+ if (Catch2_FOUND)
25+ message (STATUS "Catch2 found: ${Catch2_DIR} " )
4226 else ()
43- download_project(
44- PROJ Catch2
45- URL "${3rdparty_Catch2_URL} "
46- URL_HASH "${3rdparty_Catch2_CHECKSUM} "
47- PREFIX "${FETCHCONTENT_BASE_DIR} /Catch2-${3rdparty_Catch2_VERSION} "
48- DOWNLOAD_DIR "${3rdparty_DOWNLOAD_DIR} "
49- DOWNLOAD_NAME "catch2-${3rdparty_Catch2_VERSION} .tar.gz"
50- EXCLUDE_FROM_ALL
51- DOWNLOAD_EXTRACT_TIMESTAMP 1
52- )
27+ message (STATUS "Catch2 not found as system package, adding it as a thirdparty" )
28+ set (3rdparty_Catch2_VERSION "3.4.0" CACHE STRING "Embedded catch2 version" )
29+ set (3rdparty_Catch2_CHECKSUM "SHA256=122928b814b75717316c71af69bd2b43387643ba076a6ec16e7882bfb2dfacbb" CACHE STRING "Embedded catch2 checksum" )
30+ set (3rdparty_Catch2_URL "https://github.com/catchorg/Catch2/archive/refs/tags/v${3rdparty_Catch2_VERSION} .tar.gz" )
31+ set (CATCH_BUILD_EXAMPLES OFF CACHE INTERNAL "" )
32+ set (CATCH_BUILD_EXTRA_TESTS OFF CACHE INTERNAL "" )
33+ set (CATCH_BUILD_TESTING OFF CACHE INTERNAL "" )
34+ set (CATCH_ENABLE_WERROR OFF CACHE INTERNAL "" )
35+ set (CATCH_INSTALL_DOCS OFF CACHE INTERNAL "" )
36+ set (CATCH_INSTALL_HELPERS OFF CACHE INTERNAL "" )
37+ if (THIRDPARTIES_HAS_FETCHCONTENT)
38+ FetchContent_Declare(
39+ Catch2
40+ URL "${3rdparty_Catch2_URL} "
41+ URL_HASH "${3rdparty_Catch2_CHECKSUM} "
42+ DOWNLOAD_DIR "${3rdparty_DOWNLOAD_DIR} "
43+ DOWNLOAD_NAME "catch2-${3rdparty_Catch2_VERSION} .tar.gz"
44+ EXCLUDE_FROM_ALL
45+ DOWNLOAD_EXTRACT_TIMESTAMP 1
46+ )
47+ FetchContent_MakeAvailable(Catch2)
48+ else ()
49+ download_project(
50+ PROJ Catch2
51+ URL "${3rdparty_Catch2_URL} "
52+ URL_HASH "${3rdparty_Catch2_CHECKSUM} "
53+ PREFIX "${FETCHCONTENT_BASE_DIR} /Catch2-${3rdparty_Catch2_VERSION} "
54+ DOWNLOAD_DIR "${3rdparty_DOWNLOAD_DIR} "
55+ DOWNLOAD_NAME "catch2-${3rdparty_Catch2_VERSION} .tar.gz"
56+ EXCLUDE_FROM_ALL
57+ DOWNLOAD_EXTRACT_TIMESTAMP 1
58+ )
59+ endif ()
5360 endif ()
5461endmacro ()
0 commit comments