1set(_dumpstate_CXX_FLAGS -Wall -Werror -std=c++17) 2 3include(${trout_SRC_ROOT}/cmake/grpc.cmake) 4include(${trout_SRC_ROOT}/cmake/protobuf.cmake) 5include(${trout_SRC_ROOT}/cmake/utils/grpc_cpp_generator.cmake) 6 7get_filename_component(dumpstate_SRC_ROOT ${CMAKE_CURRENT_SOURCE_DIR}/.. ABSOLUTE) 8 9if (NOT trout_GENS_DIR) 10 set(trout_GENS_DIR ${PROJECT_BINARY_DIR}/gens) 11endif() 12 13trout_generate_grpc_cpp_from_proto( 14 SRCS 15 ${dumpstate_SRC_ROOT}/proto/DumpstateServer.proto) 16 17# ========== Protobuf generated code ================== 18 19add_library(dumpstate_protobuf_gen 20 ${trout_GENS_DIR}/DumpstateServer.pb.cc 21 ${trout_GENS_DIR}/DumpstateServer.grpc.pb.cc 22) 23 24target_link_libraries(dumpstate_protobuf_gen 25 ${trout_GRPCXX_LIBRARIES} 26) 27 28target_compile_options(dumpstate_protobuf_gen PRIVATE ${_dumpstate_CXX_FLAGS} -Wno-array-bounds) 29 30# ========== dumpstate_grpc_server ============== 31 32add_executable(dumpstate_grpc_server 33 ${dumpstate_SRC_ROOT}/DumpstateGrpcServer.cpp 34 ${dumpstate_SRC_ROOT}/server_main.cpp 35) 36 37target_include_directories(dumpstate_grpc_server 38 PRIVATE ${trout_GENS_DIR} 39) 40 41target_link_libraries(dumpstate_grpc_server 42 dumpstate_protobuf_gen 43) 44 45target_compile_options(dumpstate_grpc_server PRIVATE ${_dumpstate_CXX_FLAGS}) 46