diff --git a/googletest/CMakeLists.txt b/googletest/CMakeLists.txt index 51a67c91..9b222b27 100644 --- a/googletest/CMakeLists.txt +++ b/googletest/CMakeLists.txt @@ -60,6 +60,8 @@ if(CMAKE_PROJECT_NAME STREQUAL "gtest" OR CMAKE_PROJECT_NAME STREQUAL "googletes # make it prominent in the GUI. option(BUILD_SHARED_LIBS "Build shared libraries (DLLs)." OFF) + option(GTEST_HAS_ABSL "Build against Google abseil" OFF) + else() mark_as_advanced( @@ -86,6 +88,10 @@ config_compiler_and_linker() # Defined in internal_utils.cmake. # alias libraries. set(cmake_package_name GTest CACHE INTERNAL "") +if(GTEST_HAS_ABSL) + find_package(absl REQUIRED) +endif() + # Create the CMake package file descriptors. if (INSTALL_GTEST) include(CMakePackageConfigHelpers) @@ -150,6 +156,10 @@ target_include_directories(gtest_main SYSTEM INTERFACE if(CMAKE_SYSTEM_NAME MATCHES "QNX") target_link_libraries(gtest PUBLIC regex) endif() +if(GTEST_HAS_ABSL) + target_compile_definitions(gtest PUBLIC GTEST_HAS_ABSL=1) + target_link_libraries(gtest PUBLIC absl::strings absl::stacktrace absl::symbolize absl::failure_signal_handler absl::base) +endif() target_link_libraries(gtest_main PUBLIC gtest) ######################################################################## diff --git a/googletest/cmake/Config.cmake.in b/googletest/cmake/Config.cmake.in index 12be4498..1149c1a9 100644 --- a/googletest/cmake/Config.cmake.in +++ b/googletest/cmake/Config.cmake.in @@ -4,6 +4,9 @@ if (@GTEST_HAS_PTHREAD@) set(THREADS_PREFER_PTHREAD_FLAG @THREADS_PREFER_PTHREAD_FLAG@) find_dependency(Threads) endif() +if (@GTEST_HAS_ABSL@) + find_dependency(absl) +endif() include("${CMAKE_CURRENT_LIST_DIR}/@targets_export_name@.cmake") check_required_components("@project_name@")