From 07dfb4b070c0d2ff5f88f685220a5a95154f61dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Ho=C5=99e=C5=88ovsk=C3=BD?= Date: Wed, 27 Apr 2022 23:28:31 +0200 Subject: [PATCH] Update PARENT_SCOPE cmake module path with path to extras/ This allows projects including us directly to do e.g. `include(Catch)` and get access to the test autoregistration CMake scripts. Note that this inclusion can be done directly through `add_subdirectory`, or indirectly via `FetchContent`. Closes #1805 Closes #2026 Closes #2130 --- CMakeLists.txt | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 99826404..6160c050 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -38,8 +38,16 @@ endif() project(Catch2 LANGUAGES CXX VERSION 3.0.0) -# Provide path for scripts +# Provide path for scripts. We first add path to the scripts we don't use, +# but projects including us might, and set the path up to parent scope. +# Then we also add path that we use to configure the project, but is of +# no use to top level projects. +list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/extras") +if (NOT NOT_SUBPROJECT) + set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH}" PARENT_SCOPE) +endif() list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/CMake") + include(GNUInstallDirs) include(CMakePackageConfigHelpers) include(CatchConfigOptions)