libikarus/include/ikarus/models/CMakeLists.txt
Folling 70820129ae
add flatbuffers support and initial rewrite
Signed-off-by: Folling <mail@folling.io>
2025-04-15 12:08:10 +02:00

41 lines
916 B
CMake

file(
GLOB_RECURSE
FLATBUFFER_SOURCES
"*.fbs"
)
foreach (FLATBUFFER_SOURCE IN LISTS ${FLATBUFFER_SOURCES})
cmake_path(
GET
${FLATBUFFER_SOURCE}
FILENAME
FLATBUFFER_SOURCE_NAME
)
string(
CONCAT
FLATBUFFER_GENERATED_SOURCE_NAME
${FLATBUFFER_SOURCE_NAME}
"_generated"
)
cmake_path(
REPLACE_EXTENSION
${FLATBUFFER_GENERATED_SOURCE_NAME}
".h"
OUTPUT_VARIABLE
FLATBUFFER_GENERATED_HEADER
)
list(APPEND FLATBUFFER_GENERATED_HEADERS ${FLATBUFFER_GENERATED_HEADER})
endforeach ()
add_custom_target(
flatbuffer_headers
COMMENT "Generating flatbuffer headers"
DEPENDS ${FLATBUFFER_SOURCES}
BYPRODUCTS ${FLATBUFFER_GENERATED_HEADERS}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
COMMAND flatc --cpp --cpp-std "c++17" ${FLATBUFFER_SOURCES}
VERBATIM
)