Skip to content

Commit 35cbd5e

Browse files
committed
Provide automatic gtest download as backup option
1 parent 9cbbfe6 commit 35cbd5e

File tree

2 files changed

+19
-0
lines changed

2 files changed

+19
-0
lines changed

cmake/modules/CodeTools.cmake

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,17 @@ function(project_testcoverage_setup)
4646
)
4747
endfunction()
4848

49+
# Fetches google test version 1.12.1
50+
function(fetch_googletest)
51+
include(FetchContent)
52+
FetchContent_Declare(
53+
googletest
54+
GIT_REPOSITORY https://github.com/google/googletest.git
55+
GIT_TAG 58d77fa8070e8cec2dc1ed015d66b454c8d78850)
56+
FetchContent_MakeAvailable(googletest)
57+
message(VERBOSE "GTest binaries are present at ${googletest_BINARY_DIR}")
58+
endfunction()
59+
4960
# Setups targets for code processing.
5061

5162
function(project_codetools_setup)

tests/CMakeLists.txt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,14 @@
11
enable_testing()
22

33
find_package(GTest 1.10 QUIET CONFIG)
4+
if (NOT GTest_FOUND)
5+
message(WARNING "GTest with version >= \"1.10\" was not found, fetching from internet" )
6+
fetch_googletest()
7+
endif()
8+
find_package_message(
9+
GTest_DETAILS
10+
"Found GTest: ${GTest_DIR} (version \"${GTest_VERSION}\")"
11+
"[${GTest_FOUND}][${GTest_DIR}][v${GTest_VERSION}]")
412

513
include(GoogleTest)
614

0 commit comments

Comments
 (0)