mesytec-mnode/proto/CMakeLists.txt
Florian Lüke bf03a19820 add prototype nng reqrep based blocking protobuf rpc server and client
The code requires cc_generic_services = true in the service proto files.
nng_msg payload is:
  request format : size:u32 + serialized MethodCall
  response format: size:u32 + serialized MethodCallResponse

Dispatch is done using descriptors, message prototypes and protobuf.Any.
Error handling is missing apart from error logging.
2024-12-08 21:01:54 +01:00

22 lines
619 B
CMake

find_package(Protobuf REQUIRED)
set(MNODE_PROTOS
google/rpc/status.proto
google/rpc/error_details.proto
google/rpc/code.proto
mrpc.proto
mvlc.proto
service.proto
vme.proto
)
add_library(mnode-proto ${MNODE_PROTOS})
target_link_libraries(mnode-proto PUBLIC protobuf::libprotobuf)
target_include_directories(mnode-proto
PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/>
PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/../>)
protobuf_generate(TARGET mnode-proto)
protobuf_generate_python(PROTO_PY ${MNODE_PROTOS})
add_custom_target(mnode-proto-py ALL DEPENDS ${PROTO_PY})