diff options
author | Jan Tattermusch <jtattermusch@users.noreply.github.com> | 2017-09-11 10:58:47 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-09-11 10:58:47 +0200 |
commit | ca7084bced8db50bc242a06b430ba468145982fa (patch) | |
tree | c69cbc613ef3410deebdacb3cf7c42216634e3a5 | |
parent | c7520d0d8f1c3833f9a1c04c953e272a120f31c4 (diff) | |
parent | 9d1d0529d3f46d538b85e7a8ad787e3a27a14096 (diff) |
Merge pull request #12411 from jtattermusch/cmake_protoc_target_file
cmake: choose the right protoc executable with gRPC_PROTOBUF_PROVIDER=package
-rw-r--r-- | CMakeLists.txt | 7 | ||||
-rw-r--r-- | cmake/gRPCConfig.cmake.in (renamed from tools/cmake/gRPCConfig.cmake.in) | 0 | ||||
-rw-r--r-- | cmake/gRPCConfigVersion.cmake.in (renamed from tools/cmake/gRPCConfigVersion.cmake.in) | 0 | ||||
-rw-r--r-- | templates/CMakeLists.txt.template | 7 |
4 files changed, 10 insertions, 4 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index d262026c45..5131bf39b4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -179,6 +179,7 @@ if("${gRPC_PROTOBUF_PROVIDER}" STREQUAL "module") endif() if(TARGET protoc) set(_gRPC_PROTOBUF_PROTOC protoc) + set(_gRPC_PROTOBUF_PROTOC_EXECUTABLE $<TARGET_FILE:protoc>) endif() else() message(WARNING "gRPC_PROTOBUF_PROVIDER is \"module\" but PROTOBUF_ROOT_DIR is wrong") @@ -202,8 +203,10 @@ elseif("${gRPC_PROTOBUF_PROVIDER}" STREQUAL "package") endif() if(TARGET protobuf::protoc) set(_gRPC_PROTOBUF_PROTOC protobuf::protoc) + set(_gRPC_PROTOBUF_PROTOC_EXECUTABLE $<TARGET_FILE:protobuf::protoc>) else() set(_gRPC_PROTOBUF_PROTOC ${PROTOBUF_PROTOC_EXECUTABLE}) + set(_gRPC_PROTOBUF_PROTOC_EXECUTABLE ${PROTOBUF_PROTOC_EXECUTABLE}) endif() set(_gRPC_FIND_PROTOBUF "if(NOT Protobuf_FOUND AND NOT PROTOBUF_FOUND)\n find_package(Protobuf ${gRPC_PROTOBUF_PACKAGE_TYPE})\nendif()") endif() @@ -328,7 +331,7 @@ function(protobuf_generate_grpc_cpp) "${_gRPC_PROTO_GENS_DIR}/${RELFIL_WE}_mock.grpc.pb.h" "${_gRPC_PROTO_GENS_DIR}/${RELFIL_WE}.pb.cc" "${_gRPC_PROTO_GENS_DIR}/${RELFIL_WE}.pb.h" - COMMAND $<TARGET_FILE:${_gRPC_PROTOBUF_PROTOC}> + COMMAND ${_gRPC_PROTOBUF_PROTOC_EXECUTABLE} ARGS --grpc_out=generate_mock_code=true:${_gRPC_PROTO_GENS_DIR} --cpp_out=${_gRPC_PROTO_GENS_DIR} --plugin=protoc-gen-grpc=$<TARGET_FILE:grpc_cpp_plugin> @@ -14520,7 +14523,7 @@ if (gRPC_INSTALL) endif() foreach(_config gRPCConfig gRPCConfigVersion) - configure_file(tools/cmake/${_config}.cmake.in + configure_file(cmake/${_config}.cmake.in ${_config}.cmake @ONLY) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${_config}.cmake DESTINATION ${gRPC_INSTALL_CMAKEDIR} diff --git a/tools/cmake/gRPCConfig.cmake.in b/cmake/gRPCConfig.cmake.in index 1a0fa6a462..1a0fa6a462 100644 --- a/tools/cmake/gRPCConfig.cmake.in +++ b/cmake/gRPCConfig.cmake.in diff --git a/tools/cmake/gRPCConfigVersion.cmake.in b/cmake/gRPCConfigVersion.cmake.in index f3c19fd403..f3c19fd403 100644 --- a/tools/cmake/gRPCConfigVersion.cmake.in +++ b/cmake/gRPCConfigVersion.cmake.in diff --git a/templates/CMakeLists.txt.template b/templates/CMakeLists.txt.template index 966a73c28e..6adff889fe 100644 --- a/templates/CMakeLists.txt.template +++ b/templates/CMakeLists.txt.template @@ -224,6 +224,7 @@ endif() if(TARGET protoc) set(_gRPC_PROTOBUF_PROTOC protoc) + set(_gRPC_PROTOBUF_PROTOC_EXECUTABLE $<TARGET_FILE:protoc>) endif() else() message(WARNING "gRPC_PROTOBUF_PROVIDER is \"module\" but PROTOBUF_ROOT_DIR is wrong") @@ -247,8 +248,10 @@ endif() if(TARGET protobuf::protoc) set(_gRPC_PROTOBUF_PROTOC protobuf::protoc) + set(_gRPC_PROTOBUF_PROTOC_EXECUTABLE $<TARGET_FILE:protobuf::protoc>) else() set(_gRPC_PROTOBUF_PROTOC <%text>${PROTOBUF_PROTOC_EXECUTABLE}</%text>) + set(_gRPC_PROTOBUF_PROTOC_EXECUTABLE <%text>${PROTOBUF_PROTOC_EXECUTABLE}</%text>) endif() set(_gRPC_FIND_PROTOBUF "if(NOT Protobuf_FOUND AND NOT PROTOBUF_FOUND)\n find_package(Protobuf <%text>${gRPC_PROTOBUF_PACKAGE_TYPE}</%text>)\nendif()") endif() @@ -373,7 +376,7 @@ <%text>"${_gRPC_PROTO_GENS_DIR}/${RELFIL_WE}_mock.grpc.pb.h"</%text> <%text>"${_gRPC_PROTO_GENS_DIR}/${RELFIL_WE}.pb.cc"</%text> <%text>"${_gRPC_PROTO_GENS_DIR}/${RELFIL_WE}.pb.h"</%text> - COMMAND <%text>$<TARGET_FILE:${_gRPC_PROTOBUF_PROTOC}></%text> + COMMAND <%text>${_gRPC_PROTOBUF_PROTOC_EXECUTABLE}</%text> ARGS --grpc_out=<%text>generate_mock_code=true:${_gRPC_PROTO_GENS_DIR}</%text> --cpp_out=<%text>${_gRPC_PROTO_GENS_DIR}</%text> --plugin=protoc-gen-grpc=$<TARGET_FILE:grpc_cpp_plugin> @@ -631,7 +634,7 @@ endif() foreach(_config gRPCConfig gRPCConfigVersion) - configure_file(tools/cmake/<%text>${_config}</%text>.cmake.in + configure_file(cmake/<%text>${_config}</%text>.cmake.in <%text>${_config}</%text>.cmake @ONLY) install(FILES <%text>${CMAKE_CURRENT_BINARY_DIR}/${_config}</%text>.cmake DESTINATION <%text>${gRPC_INSTALL_CMAKEDIR}</%text> |