-- 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
