find_package(Protobuf REQUIRED)

PROTOBUF_GENERATE_CPP(PROTO_SRCS PROTO_HDRS
  rtransfer_messages.proto
  control.proto)

include_directories(${CMAKE_CURRENT_BINARY_DIR} ${PROTOBUF_INCLUDE_DIRS})
add_library(proto_obj OBJECT ${PROTO_SRCS} ${PROTO_HDRS})

add_library(proto INTERFACE)
target_sources(proto INTERFACE $<TARGET_OBJECTS:proto_obj>)
target_include_directories(proto SYSTEM INTERFACE ${PROTOBUF_INCLUDE_DIRS} ${CMAKE_BINARY_DIR})
target_link_libraries(proto INTERFACE ${PROTOBUF_LIBRARIES})
