# compile wenet.proto set(PROTO_DIR "${CMAKE_CURRENT_SOURCE_DIR}") include(../cmake-linux/grpc.cmake) get_target_property(PROTOC_LOCATION ${PROTOBUF_PROTOC} LOCATION) add_custom_command( OUTPUT ${PROTO_DIR}/wenet.pb.cc ${PROTO_DIR}/wenet.pb.h ${PROTO_DIR}/wenet.grpc.pb.cc ${PROTO_DIR}/wenet.grpc.pb.h COMMAND ${PROTOC_LOCATION} ARGS --grpc_out "${PROTO_DIR}" --cpp_out "${PROTO_DIR}" -I "${PROTO_DIR}" --plugin=protoc-gen-grpc=${GRPC_BINARY_DIR}/grpc_cpp_plugin ${PROTO_DIR}/wenet.proto) add_library(wenet_grpc STATIC grpc_client.cc grpc_server.cc wenet.pb.cc wenet.grpc.pb.cc) target_link_libraries(wenet_grpc PUBLIC ${REFLECTION} ${GRPC_GRPCPP} ${PROTOBUF_LIBPROTOBUF} decoder) add_executable(grpc_server_main grpc_server_main.cc) target_link_libraries(grpc_server_main wenet_grpc ${third_party_libraries} ${REFLECTION} ${GRPC_GRPCPP} ${PROTOBUF_LIBPROTOBUF} ) add_executable(grpc_client_main grpc_client_main.cc) target_link_libraries(grpc_client_main wenet_grpc ${third_party_libraries} ${REFLECTION} ${GRPC_GRPCPP} ${PROTOBUF_LIBPROTOBUF} )