41 lines
916 B
CMake
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
|
|
)
|