aboutsummaryrefslogtreecommitdiffhomepage
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorGravatar Benjamin Barenblat <bbaren@google.com>2020-02-26 15:46:53 -0500
committerGravatar Benjamin Barenblat <bbaren@google.com>2020-02-26 16:17:30 -0500
commit898fb3a7043bd5af6a42c18b21109f12138c977c (patch)
tree001f8922a5756dcae1b6d39a164ef16a235ae508 /CMakeLists.txt
parent454202fc0b6d6baa15aec328053c28e0d46d0551 (diff)
Support testing with a local googletest checkout
Add a new variable, `ABSL_LOCAL_GOOGLETEST_DIR`, that points to a local checkout of googletest. Building with `-DABSL_RUN_TESTS=ON -DABSL_USE_GOOGLETEST_HEAD=OFF` will then use that directory rather than cloning the googletest repo from GitHub.
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt10
1 files changed, 8 insertions, 2 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 26cd2d0..74b5cd9 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -84,6 +84,10 @@ find_package(Threads REQUIRED)
option(ABSL_USE_GOOGLETEST_HEAD
"If ON, abseil will download HEAD from googletest at config time." OFF)
+set(ABSL_LOCAL_GOOGLETEST_DIR "/usr/src/googletest" CACHE PATH
+ "If ABSL_USE_GOOGLETEST_HEAD is OFF, specifies the directory of a local googletest checkout."
+ )
+
option(ABSL_RUN_TESTS "If ON, Abseil tests will be run." OFF)
if(${ABSL_RUN_TESTS})
@@ -96,11 +100,13 @@ endif()
## check targets
if(BUILD_TESTING)
+ set(absl_gtest_build_dir ${CMAKE_BINARY_DIR}/googletest-build)
if(${ABSL_USE_GOOGLETEST_HEAD})
set(absl_gtest_src_dir ${CMAKE_BINARY_DIR}/googletest-src)
- set(absl_gtest_build_dir ${CMAKE_BINARY_DIR}/googletest-build)
- include(CMake/Googletest/DownloadGTest.cmake)
+ else()
+ set(absl_gtest_src_dir ${ABSL_LOCAL_GOOGLETEST_DIR})
endif()
+ include(CMake/Googletest/DownloadGTest.cmake)
check_target(gtest)
check_target(gtest_main)