@@ -33,15 +33,20 @@ set(gtest_hide_internal_symbols ON CACHE INTERNAL "Override gtest default")
3333set (BUILD_GMOCK OFF CACHE INTERNAL "Override gtest default" FORCE)
3434set (INSTALL_GTEST OFF CACHE INTERNAL "Override gtest default" FORCE)
3535
36- include (FetchContent)
37- FetchContent_Declare(gtest
38- GIT_REPOSITORY https://github.com/google/googletest.git
39- GIT_TAG v1.15.2
40- )
41- FetchContent_MakeAvailable(gtest)
36+ option (ST_USE_SYSTEM_GTEST "Find the GoogleTest library from the system rather than fetching it" OFF )
37+ if (ST_USE_SYSTEM_GTEST)
38+ find_package (GTest REQUIRED)
39+ else ()
40+ include (FetchContent)
41+ FetchContent_Declare(gtest
42+ GIT_REPOSITORY https://github.com/google/googletest.git
43+ GIT_TAG v1.15.2
44+ )
45+ FetchContent_MakeAvailable(gtest)
46+ endif ()
4247
4348add_executable (st_gtests "" )
44- target_link_libraries (st_gtests PRIVATE gtest gtest_main string_theory)
49+ target_link_libraries (st_gtests PRIVATE GTest:: gtest GTest:: gtest_main string_theory)
4550target_include_directories (st_gtests PRIVATE
4651 ${GTEST_INCLUDE_DIR}
4752 ${gtest_SOURCE_DIR} /include
@@ -51,12 +56,12 @@ target_include_directories(st_gtests PRIVATE
5156if (WIN32 AND BUILD_SHARED_LIBS )
5257 add_custom_command (TARGET st_gtests POST_BUILD
5358 COMMAND ${CMAKE_COMMAND} -E copy_if_different
54- "$<TARGET_FILE:gtest>"
59+ "$<TARGET_FILE:GTest:: gtest>"
5560 "$<TARGET_FILE_DIR:st_gtests>"
5661 )
5762 add_custom_command (TARGET st_gtests POST_BUILD
5863 COMMAND ${CMAKE_COMMAND} -E copy_if_different
59- "$<TARGET_FILE:gtest_main>"
64+ "$<TARGET_FILE:GTest:: gtest_main>"
6065 "$<TARGET_FILE_DIR:st_gtests>"
6166 )
6267endif ()
0 commit comments