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()