-- Replace FetchContent (which requires network access) with find_package(GTest). -- Use namespaced GTest targets to ensure all required gtest symbols are linked. --- test/CMakeLists.txt.orig 2026-10-21 09:01:01 UTC +++ test/CMakeLists.txt @@ -1,14 +1,7 @@ project(test) cmake_minimum_required(VERSION 3.14) project(test) -include(FetchContent) -FetchContent_Declare( - googletest - URL https://github.com/google/googletest/archive/03597a01ee50ed33e9dfd640b249b4be3799d395.zip -) -# For Windows: Prevent overriding the parent project's compiler/linker settings -set(gtest_force_shared_crt ON CACHE BOOL "" FORCE) -FetchContent_MakeAvailable(googletest) +find_package(GTest REQUIRED) enable_testing() @@ -43,7 +36,7 @@ target_compile_definitions(peglib-test-main PRIVATE target_compile_definitions(peglib-test-main PRIVATE GRAMMAR_DIR="${CMAKE_CURRENT_SOURCE_DIR}/../grammar/" CPPPEGLIB_TEST) -target_link_libraries(peglib-test-main PRIVATE gtest_main) +target_link_libraries(peglib-test-main PRIVATE GTest::gtest_main GTest::gtest) gtest_discover_tests(peglib-test-main) # The same tests again with every grammar reloaded from its serialized blob