12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- cmake_minimum_required(VERSION 3.10)
- function(_add_grpc_target_alias target)
- if(NOT TARGET ${target})
- message(FATAL_ERROR "${target} is not a target")
- endif()
- get_target_property(_aliased ${target} ALIASED_TARGET)
- if(_aliased)
- message(FATAL_ERROR "_add_grpc_target_alias only could be called with
- the non-aliased target")
- endif()
- get_target_property(_type ${target} TYPE)
- if(NOT TARGET gRPC::${target})
- if(_type STREQUAL "EXECUTABLE")
- add_executable(gRPC::${target} ALIAS ${target})
- else()
- add_library(gRPC::${target} ALIAS ${target})
- endif()
- endif()
- endfunction()
- find_package(gRPC CONFIG)
- if(TARGET grpc)
- _add_grpc_target_alias(grpc)
- endif()
- if(TARGET grpc++)
- _add_grpc_target_alias(grpc++)
- endif()
- if(TARGET grpc_cpp_plugin)
- _add_grpc_target_alias(grpc_cpp_plugin)
- endif()
- unset(WrapgRPC_FOUND)
- if(gRPC_FOUND AND TARGET gRPC::grpc AND TARGET gRPC::grpc++ AND TARGET gRPC::grpc_cpp_plugin)
- set(WrapgRPC_FOUND TRUE)
- elseif(EXISTS "${QT_PROTOBUF_SOURCE_DIR}/3rdparty/grpc/CMakeLists.txt")
- message(WARNING "Support for built-in gRPC will be discontinued soon. Please make sure that
- you have recent version of gRPC installed in your system.")
- set(gRPC_BUILD_TESTS FALSE CACHE INTERNAL "" FORCE)
- set(protobuf_BUILD_TESTS FALSE CACHE INTERNAL "" FORCE)
- add_subdirectory("${QT_PROTOBUF_SOURCE_DIR}/3rdparty/grpc" EXCLUDE_FROM_ALL)
- _add_grpc_target_alias(grpc)
- _add_grpc_target_alias(grpc++)
- _add_grpc_target_alias(grpc_cpp_plugin)
- set(WrapgRPC_FOUND TRUE)
- endif()
|