diff options
author | 2017-07-03 17:28:10 +0200 | |
---|---|---|
committer | 2017-07-03 17:28:10 +0200 | |
commit | 992f07419afffc4438cc4e0f94dc82005cd7bf3a (patch) | |
tree | 3588180668f72e66edddfc4ee0cef8d487cee821 /CMakeLists.txt | |
parent | e5de5e5ffa2c664ca1d6ac09c3761a03a1500cb0 (diff) | |
parent | 6ba7d53b63532c3a1ed41cac54460a912c930539 (diff) |
Merge pull request #11637 from kskalski/protobuf_cmake2
Make CMake find_package work for preinstalled libprotobuf on Raspbian.
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 852eb2bf6c..384e275d53 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -53,6 +53,9 @@ 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") + set(gRPC_GFLAGS_PROVIDER "module" CACHE STRING "Provider of gflags library") set_property(CACHE gRPC_GFLAGS_PROVIDER PROPERTY STRINGS "module" "package") @@ -183,21 +186,27 @@ if("${gRPC_PROTOBUF_PROVIDER}" STREQUAL "module") set(gRPC_INSTALL FALSE) endif() elseif("${gRPC_PROTOBUF_PROVIDER}" STREQUAL "package") - find_package(protobuf CONFIG) - if(protobuf_FOUND) + find_package(Protobuf ${gRPC_PROTOBUF_PACKAGE_TYPE}) + if(Protobuf_FOUND OR PROTOBUF_FOUND) if(TARGET protobuf::${_gRPC_PROTOBUF_LIBRARY_NAME}) set(_gRPC_PROTOBUF_LIBRARIES protobuf::${_gRPC_PROTOBUF_LIBRARY_NAME}) + else() + set(_gRPC_PROTOBUF_LIBRARIES ${PROTOBUF_LIBRARIES}) endif() if(TARGET protobuf::libprotoc) set(_gRPC_PROTOBUF_PROTOC_LIBRARIES protobuf::libprotoc) + else() + set(_gRPC_PROTOBUF_PROTOC_LIBRARIES ${PROTOBUF_PROTOC_LIBRARIES}) endif() if(TARGET protobuf::protoc) set(_gRPC_PROTOBUF_PROTOC protobuf::protoc) + else() + set(_gRPC_PROTOBUF_PROTOC ${PROTOBUF_PROTOC_EXECUTABLE}) endif() - set(_gRPC_FIND_PROTOBUF "if(NOT protobuf_FOUND)\n find_package(protobuf CONFIG)\nendif()") - else() - find_package(Protobuf MODULE) - set(_gRPC_FIND_PROTOBUF "if(NOT Protobuf_FOUND)\n find_package(Protobuf)\nendif()") + set(_gRPC_FIND_PROTOBUF "if(NOT Protobuf_FOUND AND NOT PROTOBUF_FOUND)\n find_package(Protobuf ${gRPC_PROTOBUF_PACKAGE_TYPE})\nendif()") + endif() + if(PROTOBUF_FOUND) + include_directories(${PROTOBUF_INCLUDE_DIRS}) endif() set(PROTOBUF_WELLKNOWN_IMPORT_DIR /usr/local/include) endif() |