2023-04-23 14:22:10 -07:00
|
|
|
cmake_minimum_required(VERSION 3.20)
|
|
|
|
project(sdrpc)
|
|
|
|
|
|
|
|
find_package(Protobuf CONFIG REQUIRED)
|
|
|
|
find_package(gRPC CONFIG REQUIRED)
|
|
|
|
|
|
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
|
|
|
|
|
2023-05-08 16:06:07 -07:00
|
|
|
file(GLOB PROTO_FILES "proto/*.proto")
|
|
|
|
|
|
|
|
add_library(sdrpc ${PROTO_FILES})
|
2023-04-23 14:22:10 -07:00
|
|
|
|
|
|
|
get_target_property(grpc_cpp_plugin_location gRPC::grpc_cpp_plugin LOCATION)
|
|
|
|
|
2023-05-08 16:06:07 -07:00
|
|
|
protobuf_generate(TARGET sdrpc LANGUAGE cpp IMPORT_DIRS proto)
|
2023-04-23 14:22:10 -07:00
|
|
|
protobuf_generate(TARGET sdrpc LANGUAGE grpc
|
|
|
|
GENERATE_EXTENSIONS .grpc.pb.h .grpc.pb.cc
|
2023-05-08 16:06:07 -07:00
|
|
|
IMPORT_DIRS proto
|
2023-04-23 14:22:10 -07:00
|
|
|
PLUGIN "protoc-gen-grpc=${grpc_cpp_plugin_location}")
|
|
|
|
target_include_directories(sdrpc PUBLIC ${CMAKE_CURRENT_BINARY_DIR})
|
|
|
|
target_link_libraries(sdrpc PUBLIC protobuf::libprotobuf gRPC::grpc gRPC::grpc++)
|
|
|
|
|
2023-05-01 18:05:47 -07:00
|
|
|
add_executable(sdrpc_sample sample.cpp)
|
2023-04-23 14:22:10 -07:00
|
|
|
target_include_directories(sdrpc_sample PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
|
|
|
|
target_link_libraries(sdrpc_sample PRIVATE sdrpc)
|