|
@ -1,7 +1,8 @@ |
|
|
# On how to build grpc, you may refer to https://github.com/grpc/grpc |
|
|
# On how to build grpc, you may refer to https://github.com/grpc/grpc |
|
|
set(grpc_build_dir "${LIB_BASE_DIR}/grpc-build") |
|
|
|
|
|
|
|
|
|
|
|
if(NOT EXISTS ${grpc_build_dir}) |
|
|
|
|
|
|
|
|
set(grpc_build_dir "${LIB_BASE_DIR}/grpc-build") |
|
|
|
|
|
option(REBUILD "whether to build with ONNX" ON) |
|
|
|
|
|
if(REBUILD) |
|
|
# install grpc |
|
|
# install grpc |
|
|
execute_process(COMMAND mkdir -p ${grpc_build_dir}) |
|
|
execute_process(COMMAND mkdir -p ${grpc_build_dir}) |
|
|
message(STATUS "${BoldGreen}Install grpc third party library") |
|
|
message(STATUS "${BoldGreen}Install grpc third party library") |
|
@ -9,37 +10,36 @@ if(NOT EXISTS ${grpc_build_dir}) |
|
|
COMMAND cmake |
|
|
COMMAND cmake |
|
|
-DgRPC_INSTALL=ON |
|
|
-DgRPC_INSTALL=ON |
|
|
-DCMAKE_BUILD_TYPE=Release |
|
|
-DCMAKE_BUILD_TYPE=Release |
|
|
-DgRPC_PROTOBUF_PROVIDER=package |
|
|
|
|
|
-DgRPC_CARES_PROVIDER=package |
|
|
|
|
|
-DgRPC_ABSL_PROVIDER=package |
|
|
|
|
|
-DgRPC_RE2_PROVIDER=package |
|
|
|
|
|
-DgRPC_SSL_PROVIDER=package |
|
|
|
|
|
-DgRPC_ZLIB_PROVIDER=package |
|
|
|
|
|
|
|
|
-DgRPC_PROTOBUF_PROVIDER=module |
|
|
|
|
|
-DgRPC_CARES_PROVIDER=module |
|
|
|
|
|
-DgRPC_ABSL_PROVIDER=module |
|
|
|
|
|
-DgRPC_RE2_PROVIDER=module |
|
|
|
|
|
-DgRPC_SSL_PROVIDER=module |
|
|
|
|
|
-DgRPC_ZLIB_PROVIDER=module |
|
|
-DgRPC_BUILD_TESTS=OFF |
|
|
-DgRPC_BUILD_TESTS=OFF |
|
|
-DCMAKE_INSTALL_PREFIX=${grpc_build_dir} |
|
|
-DCMAKE_INSTALL_PREFIX=${grpc_build_dir} |
|
|
-S ${LIB_BASE_DIR}/grpc-src |
|
|
-S ${LIB_BASE_DIR}/grpc-src |
|
|
-B ${grpc_build_dir} |
|
|
|
|
|
|
|
|
-B ${grpc_build_dir} -fPIC -j6 |
|
|
WORKING_DIRECTORY ${grpc_build_dir}) |
|
|
WORKING_DIRECTORY ${grpc_build_dir}) |
|
|
execute_process( |
|
|
execute_process( |
|
|
COMMAND cmake --build . -j4 |
|
|
COMMAND cmake --build . -j4 |
|
|
WORKING_DIRECTORY ${grpc_build_dir}) |
|
|
WORKING_DIRECTORY ${grpc_build_dir}) |
|
|
execute_process( |
|
|
execute_process( |
|
|
COMMAND cmake --install . -j6 |
|
|
|
|
|
|
|
|
COMMAND cmake --install . |
|
|
WORKING_DIRECTORY ${grpc_build_dir}) |
|
|
WORKING_DIRECTORY ${grpc_build_dir}) |
|
|
execute_process( |
|
|
|
|
|
COMMAND cp -rf ${LIB_BASE_DIR}/grpc-src/third_party/abseil-cpp/absl ${grpc_build_dir}/include) |
|
|
|
|
|
|
|
|
# execute_process(COMMAND cp -rf ${LIB_BASE_DIR}/grpc-src/third_party/abseil-cpp/absl ${grpc_build_dir}/include) |
|
|
message("${BoldGreen}GRPC Installed !${ColourReset}") |
|
|
message("${BoldGreen}GRPC Installed !${ColourReset}") |
|
|
endif() |
|
|
endif() |
|
|
|
|
|
|
|
|
set(CMAKE_PREFIX_PATH ${grpc_build_dir} |
|
|
|
|
|
${grpc_build_dir}/lib/cmake/protobuf |
|
|
|
|
|
${grpc_build_dir}/lib/cmake/grpc |
|
|
|
|
|
${CMAKE_PREFIX_PATH}) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
set(gRPC_ROOT ${grpc_build_dir}) |
|
|
|
|
|
list(APPEND CMAKE_PREFIX_PATH ${gRPC_ROOT}) |
|
|
find_package(Threads REQUIRED) |
|
|
find_package(Threads REQUIRED) |
|
|
find_package(protobuf CONFIG REQUIRED) |
|
|
|
|
|
|
|
|
find_package(protobuf REQUIRED) |
|
|
find_package(gRPC CONFIG REQUIRED) |
|
|
find_package(gRPC CONFIG REQUIRED) |
|
|
|
|
|
|
|
|
|
|
|
message(${BoldGreen} |
|
|
|
|
|
_IMPORT_PREFIX:${_IMPORT_PREFIX} \n |
|
|
|
|
|
gRPC_LIBRARIES:${gRPC_LIBRARIES}${ColourReset}) |
|
|
include_directories(${grpc_build_dir}/include) |
|
|
include_directories(${grpc_build_dir}/include) |
|
|
link_directories(${grpc_build_dir}/lib) |
|
|
link_directories(${grpc_build_dir}/lib) |
|
|
# local proto file |
|
|
# local proto file |
|
@ -47,9 +47,11 @@ set(PROTO_DIR "${CMAKE_CURRENT_SOURCE_DIR}/bin_grpc") |
|
|
set(grpc_BINARY_DIR "${grpc_build_dir}/bin") |
|
|
set(grpc_BINARY_DIR "${grpc_build_dir}/bin") |
|
|
|
|
|
|
|
|
message(${BoldGreen} |
|
|
message(${BoldGreen} |
|
|
protoc:${protobuf_BINARY_DIR}/protoc \n |
|
|
|
|
|
|
|
|
protobuf_FOUND:${protobuf_FOUND} \n |
|
|
|
|
|
${CMAKE_PREFIX_PATH} \n |
|
|
|
|
|
proto_file: ${protobuf_BINARY_DIR}/protoc \n |
|
|
grpc_cpp_plugin:${grpc_BINARY_DIR}/grpc_cpp_plugin\n |
|
|
grpc_cpp_plugin:${grpc_BINARY_DIR}/grpc_cpp_plugin\n |
|
|
helloworld:${PROTO_DIR}/helloworld.proto${ColourReset}) |
|
|
helloworld:${PROTO_DIR}/helloworld.proto${ColourReset}) |
|
|
|
|
|
|
|
|
list(APPEND third_party_libraries grpc++ grpc++_reflection libprotobuf) |
|
|
|
|
|
|
|
|
list(APPEND third_party_libraries grpc++ grpc++_reflection protobuf) |
|
|
|
|
|
|