Reject lower version of gRPC.
Signed-off-by: Tao He <sighingnow@gmail.com>
This commit is contained in:
parent
2ed6cacce9
commit
6a4b5633d8
|
|
@ -87,7 +87,12 @@ else()
|
|||
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/FindGRPC.cmake)
|
||||
set(GRPC_LIBRARIES ${GPR_LIBRARY} ${GRPC_LIBRARY} ${GRPC_GRPC++_LIBRARY})
|
||||
endif()
|
||||
|
||||
if(gRPC_FOUND AND gRPC_VERSION VERSION_LESS "1.13")
|
||||
message(FATAL_ERROR "gRPC '${gRPC_VERSION}' is not supported, please install a newer gRPC library "
|
||||
"by following the example below"
|
||||
"\n"
|
||||
" https://github.com/etcd-cpp-apiv3/etcd-cpp-apiv3/blob/master/.github/workflows/build-test.yml#L50-L75")
|
||||
endif()
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/GenerateProtobufGRPC.cmake)
|
||||
|
||||
# will set `PROTOBUF_GENERATES`, indicates all generated .cc files, and a target `protobuf_generates`.
|
||||
|
|
|
|||
|
|
@ -67,6 +67,32 @@ set_target_properties(gRPC::grpc_cpp_plugin PROPERTIES
|
|||
IMPORTED_LOCATION ${GRPC_CPP_PLUGIN}
|
||||
)
|
||||
|
||||
file(
|
||||
WRITE "${CMAKE_BINARY_DIR}/get_gRPC_version.cc"
|
||||
[====[
|
||||
#include <grpc++/grpc++.h>
|
||||
#include <iostream>
|
||||
int main() {
|
||||
std::cout << grpc::Version(); // no newline to simplify CMake module
|
||||
return 0;
|
||||
}
|
||||
]====])
|
||||
|
||||
try_run(
|
||||
_gRPC_GET_VERSION_STATUS
|
||||
_gRPC_GET_VERSION_COMPILE_STATUS
|
||||
"${CMAKE_BINARY_DIR}"
|
||||
"${CMAKE_BINARY_DIR}/get_gRPC_version.cc"
|
||||
LINK_LIBRARIES
|
||||
gRPC::grpc++
|
||||
gRPC::grpc
|
||||
COMPILE_OUTPUT_VARIABLE _gRPC_GET_VERSION_COMPILE_OUTPUT
|
||||
RUN_OUTPUT_VARIABLE gRPC_VERSION)
|
||||
|
||||
file(REMOVE "${CMAKE_BINARY_DIR}/get_gRPC_version.cc")
|
||||
|
||||
include(${CMAKE_ROOT}/Modules/FindPackageHandleStandardArgs.cmake)
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(gRPC DEFAULT_MSG
|
||||
GPR_LIBRARY GRPC_LIBRARY GRPC_INCLUDE_DIR GRPC_GRPC++_REFLECTION_LIBRARY GRPC_CPP_PLUGIN)
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(gRPC
|
||||
FOUND_VAR gRPC_FOUND
|
||||
REQUIRED_VARS GRPC_LIBRARY GPR_LIBRARY GRPC_INCLUDE_DIR GRPC_GRPC++_REFLECTION_LIBRARY GRPC_CPP_PLUGIN
|
||||
VERSION_VAR gRPC_VERSION)
|
||||
|
|
|
|||
Loading…
Reference in New Issue