diff --git a/CMakeLists.txt b/CMakeLists.txt index a613d7f5af7..8f15a7907a9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -85,9 +85,6 @@ set_property(CACHE gRPC_SSL_PROVIDER PROPERTY STRINGS "module" "package") set(gRPC_PROTOBUF_PROVIDER "module" CACHE STRING "Provider of protobuf library") set_property(CACHE gRPC_PROTOBUF_PROVIDER PROPERTY STRINGS "module" "package") -set(gRPC_PROTOBUF_PACKAGE_TYPE "" CACHE STRING "Algorithm for searching protobuf package") -set_property(CACHE gRPC_PROTOBUF_PACKAGE_TYPE PROPERTY STRINGS "CONFIG" "MODULE") - if(gRPC_BUILD_TESTS) set(gRPC_BENCHMARK_PROVIDER "module" CACHE STRING "Provider of benchmark library") set_property(CACHE gRPC_BENCHMARK_PROVIDER PROPERTY STRINGS "module" "package") diff --git a/cmake/protobuf.cmake b/cmake/protobuf.cmake index aff1d36526e..80181c62186 100644 --- a/cmake/protobuf.cmake +++ b/cmake/protobuf.cmake @@ -55,12 +55,8 @@ if(gRPC_PROTOBUF_PROVIDER STREQUAL "module") set(gRPC_INSTALL FALSE) endif() elseif(gRPC_PROTOBUF_PROVIDER STREQUAL "package") - find_package(Protobuf REQUIRED ${gRPC_PROTOBUF_PACKAGE_TYPE}) + find_package(Protobuf REQUIRED CONFIG) - # {Protobuf,PROTOBUF}_FOUND is defined based on find_package type ("MODULE" vs "CONFIG"). - # For "MODULE", the case has also changed between cmake 3.5 and 3.6. - # We use the legacy uppercase version for *_LIBRARIES AND *_INCLUDE_DIRS variables - # as newer cmake versions provide them too for backward compatibility. if(Protobuf_FOUND OR PROTOBUF_FOUND) if(TARGET protobuf::${_gRPC_PROTOBUF_LIBRARY_NAME}) set(_gRPC_PROTOBUF_LIBRARIES protobuf::${_gRPC_PROTOBUF_LIBRARY_NAME}) @@ -90,6 +86,6 @@ elseif(gRPC_PROTOBUF_PROVIDER STREQUAL "package") set(_gRPC_PROTOBUF_PROTOC_EXECUTABLE ${PROTOBUF_PROTOC_EXECUTABLE}) endif() endif() - set(_gRPC_FIND_PROTOBUF "if(NOT Protobuf_FOUND AND NOT PROTOBUF_FOUND)\n find_package(Protobuf ${gRPC_PROTOBUF_PACKAGE_TYPE})\nendif()") + set(_gRPC_FIND_PROTOBUF "find_dependency(Protobuf CONFIG)") endif() endif() diff --git a/examples/cpp/helloworld/cmake_externalproject/CMakeLists.txt b/examples/cpp/helloworld/cmake_externalproject/CMakeLists.txt index ebf528847e9..c87f26160b7 100644 --- a/examples/cpp/helloworld/cmake_externalproject/CMakeLists.txt +++ b/examples/cpp/helloworld/cmake_externalproject/CMakeLists.txt @@ -119,7 +119,6 @@ ExternalProject_Add(grpc -DgRPC_BUILD_MSVC_MP_COUNT:STRING=-1 -Dutf8_range_DIR:STRING=${CMAKE_CURRENT_BINARY_DIR}/utf8_range/lib/cmake/utf8_range -DgRPC_PROTOBUF_PROVIDER:STRING=package - -DgRPC_PROTOBUF_PACKAGE_TYPE:STRING=CONFIG -DProtobuf_DIR:PATH=${_FINDPACKAGE_PROTOBUF_CONFIG_DIR} -DgRPC_RE2_PROVIDER:STRING=package -Dre2_DIR:STRING=${CMAKE_CURRENT_BINARY_DIR}/re2/lib/cmake/re2 diff --git a/templates/CMakeLists.txt.template b/templates/CMakeLists.txt.template index 2b340efd4c2..ea308132378 100644 --- a/templates/CMakeLists.txt.template +++ b/templates/CMakeLists.txt.template @@ -217,9 +217,6 @@ set(gRPC_PROTOBUF_PROVIDER "module" CACHE STRING "Provider of protobuf library") set_property(CACHE gRPC_PROTOBUF_PROVIDER PROPERTY STRINGS "module" "package") - set(gRPC_PROTOBUF_PACKAGE_TYPE "" CACHE STRING "Algorithm for searching protobuf package") - set_property(CACHE gRPC_PROTOBUF_PACKAGE_TYPE PROPERTY STRINGS "CONFIG" "MODULE") - if(gRPC_BUILD_TESTS) set(gRPC_BENCHMARK_PROVIDER "module" CACHE STRING "Provider of benchmark library") set_property(CACHE gRPC_BENCHMARK_PROVIDER PROPERTY STRINGS "module" "package") diff --git a/test/distrib/cpp/run_distrib_test_cmake.bat b/test/distrib/cpp/run_distrib_test_cmake.bat index d8d5ff14fe3..7a485e4da51 100644 --- a/test/distrib/cpp/run_distrib_test_cmake.bat +++ b/test/distrib/cpp/run_distrib_test_cmake.bat @@ -99,7 +99,6 @@ cmake ^ -DgRPC_BUILD_MSVC_MP_COUNT=-1 ^ -DgRPC_ABSL_PROVIDER=package ^ -DgRPC_CARES_PROVIDER=package ^ - -DgRPC_PROTOBUF_PACKAGE_TYPE=CONFIG ^ -DgRPC_PROTOBUF_PROVIDER=package ^ -DProtobuf_USE_STATIC_LIBS=ON ^ -DgRPC_RE2_PROVIDER=package ^ diff --git a/test/distrib/cpp/run_distrib_test_cmake.sh b/test/distrib/cpp/run_distrib_test_cmake.sh index 73fba56129a..c1d2307ca62 100755 --- a/test/distrib/cpp/run_distrib_test_cmake.sh +++ b/test/distrib/cpp/run_distrib_test_cmake.sh @@ -75,7 +75,6 @@ cmake \ -DgRPC_BUILD_TESTS=OFF \ -DgRPC_CARES_PROVIDER=package \ -DgRPC_ABSL_PROVIDER=package \ - -DgRPC_PROTOBUF_PACKAGE_TYPE=CONFIG \ -DgRPC_PROTOBUF_PROVIDER=package \ -DgRPC_RE2_PROVIDER=package \ -DgRPC_SSL_PROVIDER=package \ diff --git a/test/distrib/cpp/run_distrib_test_cmake_pkgconfig.sh b/test/distrib/cpp/run_distrib_test_cmake_pkgconfig.sh index fbec50fcd6d..0b4428b8aa2 100755 --- a/test/distrib/cpp/run_distrib_test_cmake_pkgconfig.sh +++ b/test/distrib/cpp/run_distrib_test_cmake_pkgconfig.sh @@ -81,7 +81,6 @@ cmake \ -DgRPC_BUILD_TESTS=OFF \ -DgRPC_ABSL_PROVIDER=package \ -DgRPC_CARES_PROVIDER=package \ - -DgRPC_PROTOBUF_PACKAGE_TYPE=CONFIG \ -DgRPC_PROTOBUF_PROVIDER=package \ -Dutf8_range_DIR=/usr/local/lib/cmake/utf8_range \ -DgRPC_RE2_PROVIDER=package \