blob: 0646731584e6040317d7aa1ddc08da7708364fe3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
function(_FlatBuffers_import)
nnfw_find_package(FlatBuffersSource QUIET)
if(NOT FlatBuffersSource_FOUND)
set(FlatBuffers_FOUND FALSE PARENT_SCOPE)
return()
endif(NOT FlatBuffersSource_FOUND)
# From FlatBuffers's CMakeLists.txt
list(APPEND FlatBuffers_Library_SRCS "${FlatBuffersSource_DIR}/src/code_generators.cpp")
list(APPEND FlatBuffers_Library_SRCS "${FlatBuffersSource_DIR}/src/idl_parser.cpp")
list(APPEND FlatBuffers_Library_SRCS "${FlatBuffersSource_DIR}/src/idl_gen_text.cpp")
list(APPEND FlatBuffers_Library_SRCS "${FlatBuffersSource_DIR}/src/reflection.cpp")
list(APPEND FlatBuffers_Library_SRCS "${FlatBuffersSource_DIR}/src/util.cpp")
# From FlatBuffers's CMakeLists.txt
list(APPEND FlatBuffers_Compiler_SRCS "${FlatBuffersSource_DIR}/src/idl_gen_cpp.cpp")
list(APPEND FlatBuffers_Compiler_SRCS "${FlatBuffersSource_DIR}/src/idl_gen_dart.cpp")
list(APPEND FlatBuffers_Compiler_SRCS "${FlatBuffersSource_DIR}/src/idl_gen_fbs.cpp")
list(APPEND FlatBuffers_Compiler_SRCS "${FlatBuffersSource_DIR}/src/idl_gen_general.cpp")
list(APPEND FlatBuffers_Compiler_SRCS "${FlatBuffersSource_DIR}/src/idl_gen_go.cpp")
list(APPEND FlatBuffers_Compiler_SRCS "${FlatBuffersSource_DIR}/src/idl_gen_grpc.cpp")
list(APPEND FlatBuffers_Compiler_SRCS "${FlatBuffersSource_DIR}/src/idl_gen_js.cpp")
list(APPEND FlatBuffers_Compiler_SRCS "${FlatBuffersSource_DIR}/src/idl_gen_json_schema.cpp")
list(APPEND FlatBuffers_Compiler_SRCS "${FlatBuffersSource_DIR}/src/idl_gen_lobster.cpp")
list(APPEND FlatBuffers_Compiler_SRCS "${FlatBuffersSource_DIR}/src/idl_gen_lua.cpp")
list(APPEND FlatBuffers_Compiler_SRCS "${FlatBuffersSource_DIR}/src/idl_gen_php.cpp")
list(APPEND FlatBuffers_Compiler_SRCS "${FlatBuffersSource_DIR}/src/idl_gen_python.cpp")
list(APPEND FlatBuffers_Compiler_SRCS "${FlatBuffersSource_DIR}/src/flatc.cpp")
list(APPEND FlatBuffers_Compiler_SRCS "${FlatBuffersSource_DIR}/src/flatc_main.cpp")
list(APPEND FlatBuffers_Compiler_SRCS "${FlatBuffersSource_DIR}/grpc/src/compiler/cpp_generator.cc")
list(APPEND FlatBuffers_Compiler_SRCS "${FlatBuffersSource_DIR}/grpc/src/compiler/go_generator.cc")
list(APPEND FlatBuffers_Compiler_SRCS "${FlatBuffersSource_DIR}/grpc/src/compiler/java_generator.cc")
if(NOT TARGET flatbuffers)
add_library(flatbuffers ${FlatBuffers_Library_SRCS})
target_include_directories(flatbuffers PUBLIC "${FlatBuffersSource_DIR}/include")
endif(NOT TARGET flatbuffers)
if(NOT TARGET flatc)
add_executable(flatc ${FlatBuffers_Compiler_SRCS})
target_include_directories(flatc PRIVATE "${FlatBuffersSource_DIR}/grpc")
target_link_libraries(flatc flatbuffers)
endif(NOT TARGET flatc)
set(FlatBuffers_FOUND TRUE PARENT_SCOPE)
endfunction(_FlatBuffers_import)
_FlatBuffers_import()
if(FlatBuffers_FOUND)
function(FlatBuffers_Generate PREFIX OUTPUT_DIR SCHEMA_DIR)
get_filename_component(abs_output_dir ${OUTPUT_DIR} ABSOLUTE)
get_filename_component(abs_schema_dir ${SCHEMA_DIR} ABSOLUTE)
foreach(schema ${ARGN})
get_filename_component(schema_fn "${schema}" NAME)
get_filename_component(dir "${schema}" DIRECTORY)
get_filename_component(schema_fn_we "${schema_fn}" NAME_WE)
list(APPEND SCHEMA_FILES "${abs_schema_dir}/${schema}")
list(APPEND OUTPUT_FILES "${abs_output_dir}/${schema_fn_we}_generated.h")
endforeach()
add_custom_command(OUTPUT ${OUTPUT_FILES}
COMMAND ${CMAKE_COMMAND} -E make_directory "${abs_output_dir}"
COMMAND "$<TARGET_FILE:flatc>" -c --no-includes
--no-union-value-namespacing
--gen-object-api -o "${abs_output_dir}"
${SCHEMA_FILES}
DEPENDS flatc)
set(${PREFIX}_SOURCES ${OUTPUT_FILES} PARENT_SCOPE)
set(${PREFIX}_INCLUDE_DIRS ${abs_output_dir} PARENT_SCOPE)
endfunction(FlatBuffers_Generate)
endif(FlatBuffers_FOUND)
|