mirror of
https://github.com/catchorg/Catch2.git
synced 2024-11-22 21:36:11 +01:00
Fix Catch.cmake helper by setting variable globally
Set `_CATCH_DISCOVER_TESTS_SCRIPT` helper variable globally. Otherwise in a scoped call (like `add_subdirectory()`) the variable gets lost. This lost variable results in a post build error with not much information to lead to the root of the problem. This enables the usage of the helper script with the following example structure - CMakeLists.txt (project root with `add_subdirectory(external/catch2)` - external/catch2 - CMakeLists.txt (contents listed below) - contrib/Catch.cmake - contrib/CatchAddTests.cmake - catch2/catch.hpp - tests - CMakeLists.txt (add tests with `catch_discover_tests(${PROJECT_NAME})`) contents of project specific helper `external/catch2/CMakeLists.txt` ```cmake cmake_minimum_required (VERSION 3.1...${CMAKE_VERSION}) project(Catch2 LANGUAGES CXX VERSION 2.13.3) add_library(Catch2 INTERFACE) target_include_directories(Catch2 INTERFACE $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}> ) # provide a namespaced alias for clients to 'link' against if catch is included as a sub-project add_library(Catch2::Catch2 ALIAS Catch2) include(contrib/Catch.cmake) ```
This commit is contained in:
parent
fac517d571
commit
2375a7f5b7
@ -202,4 +202,5 @@ endfunction()
|
|||||||
|
|
||||||
set(_CATCH_DISCOVER_TESTS_SCRIPT
|
set(_CATCH_DISCOVER_TESTS_SCRIPT
|
||||||
${CMAKE_CURRENT_LIST_DIR}/CatchAddTests.cmake
|
${CMAKE_CURRENT_LIST_DIR}/CatchAddTests.cmake
|
||||||
|
CACHE INTERNAL "Catch2 full path to CatchAddTests.cmake helper file"
|
||||||
)
|
)
|
||||||
|
Loading…
Reference in New Issue
Block a user