From f5448b3d712b0f291999420c6f89a207afe90a06 Mon Sep 17 00:00:00 2001 From: danfabo <155268264+danfabo@users.noreply.github.com> Date: Sun, 11 Feb 2024 02:36:02 +0100 Subject: [PATCH] Get include dirs from target rather than global variables. The global variable gtest_SOURCE_DIR is replaced by CMake when fetch-content is used with the name "GTest" and points to the root directory. The include directories from the gtest target are always valid. --- googlemock/CMakeLists.txt | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/googlemock/CMakeLists.txt b/googlemock/CMakeLists.txt index 428bd9f8..99b2411f 100644 --- a/googlemock/CMakeLists.txt +++ b/googlemock/CMakeLists.txt @@ -65,12 +65,13 @@ endif() config_compiler_and_linker() # from ${gtest_dir}/cmake/internal_utils.cmake # Adds Google Mock's and Google Test's header directories to the search path. +# Get Google Test's include dirs from the target, gtest_SOURCE_DIR is broken +# when using fetch-content with the name "GTest". +get_target_property(gtest_include_dirs gtest INCLUDE_DIRECTORIES) set(gmock_build_include_dirs "${gmock_SOURCE_DIR}/include" "${gmock_SOURCE_DIR}" - "${gtest_SOURCE_DIR}/include" - # This directory is needed to build directly from Google Test sources. - "${gtest_SOURCE_DIR}") + "${gtest_include_dirs}") include_directories(${gmock_build_include_dirs}) ########################################################################