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