cmake_minimum_required(VERSION 3.14)
project(userver-samples-flatbuf_service CXX)
find_package(
userver
COMPONENTS core
REQUIRED
)
set(FLATC_OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/flatbuffer_schema.fbs.h")
add_custom_command(
COMMENT "Generating FlatBuffer header flatbuffer_schema.fbs.h"
COMMAND flatc ARGS --cpp --gen-object-api --filename-suffix '.fbs' -o "${CMAKE_CURRENT_BINARY_DIR}"
"${CMAKE_CURRENT_SOURCE_DIR}/flatbuffer_schema.fbs"
OUTPUT "${FLATC_OUTPUT}"
DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/flatbuffer_schema.fbs"
)
add_executable(${PROJECT_NAME} main.cpp "${FLATC_OUTPUT}")
target_include_directories(${PROJECT_NAME} PRIVATE "${CMAKE_CURRENT_BINARY_DIR}")
target_link_libraries(${PROJECT_NAME} userver::core)
userver_testsuite_add_simple()