blob: 66e17cbf20813e1e613d49b7d5718065fd83cac3 [file] [log] [blame]
option(protobuf_USE_EXTERNAL_GTEST "Use external Google Test (i.e. not the one in third_party/googletest)" OFF)
if (TARGET GTest::gmock)
# GTest is already present.
elseif (protobuf_USE_EXTERNAL_GTEST)
find_package(GTest REQUIRED CONFIG)
else ()
if (NOT protobuf_FETCH_DEPENDENCIES)
message(FATAL_ERROR
"Cannot find local googletest directory that's needed to "
"build tests.\n"
"If instead you want to skip tests, run cmake with:\n"
" cmake -Dprotobuf_BUILD_TESTS=OFF\n")
endif()
include(${protobuf_SOURCE_DIR}/cmake/dependencies.cmake)
include(FetchContent)
FetchContent_Declare(
googletest
GIT_REPOSITORY "https://github.com/google/googletest.git"
GIT_TAG "v${googletest-version}"
)
# Due to https://github.com/google/googletest/issues/4384, we can't name this
# GTest for use with find_package until 1.15.0.
FetchContent_MakeAvailable(googletest)
endif()