From 898fb3a7043bd5af6a42c18b21109f12138c977c Mon Sep 17 00:00:00 2001 From: Benjamin Barenblat Date: Wed, 26 Feb 2020 15:46:53 -0500 Subject: 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. --- CMakeLists.txt | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'CMakeLists.txt') 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) -- cgit v1.2.3