Skip to content

Commit

Permalink
fix(cmake): add Find(GTest) for mock libraries (#14433)
Browse files Browse the repository at this point in the history
  • Loading branch information
dbolduc committed Jul 3, 2024
1 parent c39fb3a commit f51fccc
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 4 deletions.
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -238,7 +238,7 @@ include(CTest)
# used in the depends condition of the next option.
include(EnableCxxExceptions)

if (BUILD_TESTING)
if (BUILD_TESTING OR GOOGLE_CLOUD_CPP_WITH_MOCKS)
# Discover and add targets for the GTest::gtest and GTest::gmock libraries.
include(FindGMockWithTargets)
endif ()
Expand Down
1 change: 1 addition & 0 deletions ci/cloudbuild/builds/demo-install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ cmake -S . -B cmake-out \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX="${PREFIX}" \
-DBUILD_TESTING=OFF \
-DGOOGLE_CLOUD_CPP_WITH_MOCKS=OFF \
-DGOOGLE_CLOUD_CPP_ENABLE_EXAMPLES=OFF \
-DGOOGLE_CLOUD_CPP_ENABLE=__ga_libraries__,opentelemetry
cmake --build cmake-out -- -j "$(nproc)"
Expand Down
7 changes: 4 additions & 3 deletions cmake/FindGMockWithTargets.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -93,15 +93,16 @@ function (google_cloud_cpp_transfer_library_properties target source)
endfunction ()

include(CTest)
find_package(GTest CONFIG QUIET)
find_package(GMock CONFIG QUIET)

if (TARGET GTest::gmock)
# GTest::gmock is already defined, do not define it again.
elseif (NOT BUILD_TESTING)
elseif (NOT BUILD_TESTING AND NOT GOOGLE_CLOUD_CPP_WITH_MOCKS)
# Tests are turned off via -DBUILD_TESTING, do not load the googletest or
# googlemock dependency.
else ()
# Try to find the config package first. If that is not found
find_package(GTest CONFIG QUIET)
find_package(GMock CONFIG QUIET)
if (NOT GTest_FOUND)
find_package(GTest MODULE REQUIRED)

Expand Down
9 changes: 9 additions & 0 deletions doc/packaging.md
Original file line number Diff line number Diff line change
Expand Up @@ -228,6 +228,7 @@ cmake -S . -B cmake-out \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX="${PREFIX}" \
-DBUILD_TESTING=OFF \
-DGOOGLE_CLOUD_CPP_WITH_MOCKS=OFF \
-DGOOGLE_CLOUD_CPP_ENABLE_EXAMPLES=OFF \
-DGOOGLE_CLOUD_CPP_ENABLE=__ga_libraries__,opentelemetry
cmake --build cmake-out -- -j "$(nproc)"
Expand Down Expand Up @@ -331,6 +332,7 @@ cmake -S . -B cmake-out \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX="${PREFIX}" \
-DBUILD_TESTING=OFF \
-DGOOGLE_CLOUD_CPP_WITH_MOCKS=OFF \
-DGOOGLE_CLOUD_CPP_ENABLE_EXAMPLES=OFF \
-DGOOGLE_CLOUD_CPP_ENABLE=__ga_libraries__,opentelemetry
cmake --build cmake-out -- -j "$(nproc)"
Expand Down Expand Up @@ -480,6 +482,7 @@ cmake -S . -B cmake-out \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX="${PREFIX}" \
-DBUILD_TESTING=OFF \
-DGOOGLE_CLOUD_CPP_WITH_MOCKS=OFF \
-DGOOGLE_CLOUD_CPP_ENABLE_EXAMPLES=OFF \
-DGOOGLE_CLOUD_CPP_ENABLE=__ga_libraries__,opentelemetry
cmake --build cmake-out -- -j "$(nproc)"
Expand Down Expand Up @@ -594,6 +597,7 @@ cmake -S . -B cmake-out \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX="${PREFIX}" \
-DBUILD_TESTING=OFF \
-DGOOGLE_CLOUD_CPP_WITH_MOCKS=OFF \
-DGOOGLE_CLOUD_CPP_ENABLE_EXAMPLES=OFF \
-DGOOGLE_CLOUD_CPP_ENABLE=__ga_libraries__,opentelemetry
cmake --build cmake-out -- -j "$(nproc)"
Expand Down Expand Up @@ -761,6 +765,7 @@ cmake -S . -B cmake-out \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX="${PREFIX}" \
-DBUILD_TESTING=OFF \
-DGOOGLE_CLOUD_CPP_WITH_MOCKS=OFF \
-DGOOGLE_CLOUD_CPP_ENABLE_EXAMPLES=OFF \
-DGOOGLE_CLOUD_CPP_ENABLE=__ga_libraries__,opentelemetry
cmake --build cmake-out -- -j "$(nproc)"
Expand Down Expand Up @@ -947,6 +952,7 @@ cmake -S . -B cmake-out \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX="${PREFIX}" \
-DBUILD_TESTING=OFF \
-DGOOGLE_CLOUD_CPP_WITH_MOCKS=OFF \
-DGOOGLE_CLOUD_CPP_ENABLE_EXAMPLES=OFF \
-DGOOGLE_CLOUD_CPP_ENABLE=__ga_libraries__,opentelemetry
cmake --build cmake-out -- -j "$(nproc)"
Expand Down Expand Up @@ -1057,6 +1063,7 @@ cmake -S . -B cmake-out \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX="${PREFIX}" \
-DBUILD_TESTING=OFF \
-DGOOGLE_CLOUD_CPP_WITH_MOCKS=OFF \
-DGOOGLE_CLOUD_CPP_ENABLE_EXAMPLES=OFF \
-DGOOGLE_CLOUD_CPP_ENABLE=__ga_libraries__,opentelemetry
cmake --build cmake-out -- -j "$(nproc)"
Expand Down Expand Up @@ -1231,6 +1238,7 @@ cmake -S . -B cmake-out \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX="${PREFIX}" \
-DBUILD_TESTING=OFF \
-DGOOGLE_CLOUD_CPP_WITH_MOCKS=OFF \
-DGOOGLE_CLOUD_CPP_ENABLE_EXAMPLES=OFF \
-DGOOGLE_CLOUD_CPP_ENABLE=__ga_libraries__,opentelemetry
cmake --build cmake-out -- -j "$(nproc)"
Expand Down Expand Up @@ -1452,6 +1460,7 @@ cmake -S . -B cmake-out \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX="${PREFIX}" \
-DBUILD_TESTING=OFF \
-DGOOGLE_CLOUD_CPP_WITH_MOCKS=OFF \
-DGOOGLE_CLOUD_CPP_ENABLE_EXAMPLES=OFF \
-DGOOGLE_CLOUD_CPP_ENABLE=__ga_libraries__,opentelemetry
cmake --build cmake-out -- -j "$(nproc)"
Expand Down

0 comments on commit f51fccc

Please sign in to comment.