diff options
author | Benjamin Barenblat <bbaren@google.com> | 2020-02-26 15:46:53 -0500 |
---|---|---|
committer | Benjamin Barenblat <bbaren@google.com> | 2020-02-26 16:17:30 -0500 |
commit | 898fb3a7043bd5af6a42c18b21109f12138c977c (patch) | |
tree | 001f8922a5756dcae1b6d39a164ef16a235ae508 /CMake | |
parent | 454202fc0b6d6baa15aec328053c28e0d46d0551 (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 'CMake')
-rw-r--r-- | CMake/Googletest/CMakeLists.txt.in | 31 | ||||
-rw-r--r-- | CMake/Googletest/DownloadGTest.cmake | 9 |
2 files changed, 26 insertions, 14 deletions
diff --git a/CMake/Googletest/CMakeLists.txt.in b/CMake/Googletest/CMakeLists.txt.in index 72a7131..0c64218 100644 --- a/CMake/Googletest/CMakeLists.txt.in +++ b/CMake/Googletest/CMakeLists.txt.in @@ -3,13 +3,24 @@ cmake_minimum_required(VERSION 2.8.2) project(googletest-download NONE) include(ExternalProject) -ExternalProject_Add(googletest - GIT_REPOSITORY https://github.com/google/googletest.git - GIT_TAG master - SOURCE_DIR "${absl_gtest_src_dir}" - BINARY_DIR "${absl_gtest_build_dir}" - CONFIGURE_COMMAND "" - BUILD_COMMAND "" - INSTALL_COMMAND "" - TEST_COMMAND "" -)
\ No newline at end of file +if(${ABSL_USE_GOOGLETEST_HEAD}) + ExternalProject_Add(googletest + GIT_REPOSITORY https://github.com/google/googletest.git + GIT_TAG master + SOURCE_DIR "${absl_gtest_src_dir}" + BINARY_DIR "${absl_gtest_build_dir}" + CONFIGURE_COMMAND "" + BUILD_COMMAND "" + INSTALL_COMMAND "" + TEST_COMMAND "" + ) +else() + ExternalProject_Add(googletest + SOURCE_DIR "${absl_gtest_src_dir}" + BINARY_DIR "${absl_gtest_build_dir}" + CONFIGURE_COMMAND "" + BUILD_COMMAND "" + INSTALL_COMMAND "" + TEST_COMMAND "" + ) +endif()
\ No newline at end of file diff --git a/CMake/Googletest/DownloadGTest.cmake b/CMake/Googletest/DownloadGTest.cmake index d616fe2..9b4f62b 100644 --- a/CMake/Googletest/DownloadGTest.cmake +++ b/CMake/Googletest/DownloadGTest.cmake @@ -1,7 +1,8 @@ -# Downloads and unpacks googletest at configure time. Based on the instructions -# at https://github.com/google/googletest/tree/master/googletest#incorporating-into-an-existing-cmake-project +# Integrates googletest at configure time. Based on the instructions at +# https://github.com/google/googletest/tree/master/googletest#incorporating-into-an-existing-cmake-project -# Download the latest googletest from Github master +# Set up the external googletest project, downloading the latest from Github +# master if requested. configure_file( ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt.in ${CMAKE_BINARY_DIR}/googletest-download/CMakeLists.txt @@ -14,7 +15,7 @@ if (BUILD_SHARED_LIBS) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DGTEST_CREATE_SHARED_LIBRARY=1") endif() -# Configure and build the downloaded googletest source +# Configure and build the googletest source. execute_process(COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" . RESULT_VARIABLE result WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/googletest-download ) |