@@ -21,32 +21,35 @@ if(NOT EXECUTORCH_ROOT)
21
21
set (EXECUTORCH_ROOT ${CMAKE_CURRENT_SOURCE_DIR} /.. )
22
22
endif ()
23
23
24
- # Paths to headers generated from the .fbs files.
25
- set (_program_schema__srcs program .fbs scalar_type.fbs )
26
-
27
- set (_program_schema__outputs )
28
- foreach (fbs_file ${_program_schema__srcs} )
29
- string (REGEX REPLACE "[.]fbs$" "_generated.h" generated "${fbs_file} " )
30
- list (APPEND _program_schema__outputs
31
- "${_program_schema__include_dir} /executorch/${generated} " )
32
- endforeach ()
33
-
34
- # Generate the headers from the .fbs files.
35
- add_custom_command (
36
- OUTPUT ${_program_schema__outputs}
37
- COMMAND
38
- ${FLATC_EXECUTABLE} --cpp --cpp-std c++11 --gen-mutable --scoped-enums
39
- # Add a subdirectory to the include dir so the files can be included as
40
- # <executorch/schema/x_generated.h>
41
- -o "${_program_schema__include_dir} /executorch/schema"
42
- ${_program_schema__srcs}
43
- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
44
- DEPENDS ${FLATC_EXECUTABLE} ${_program_schema__srcs}
45
- COMMENT "Generating program_schema headers"
46
- VERBATIM )
47
-
48
- add_library (program_schema INTERFACE ${_program_schema__outputs} )
49
- set_target_properties (program_schema PROPERTIES LINKER_LANGUAGE CXX )
50
- target_include_directories (
51
- program_schema INTERFACE ${_program_schema__include_dir}
52
- ${EXECUTORCH_ROOT} /third-party/flatbuffers/include )
24
+ function (generate_program_schema _schema_srcs _schema_name )
25
+ set (_schema_outputs )
26
+ foreach (fbs_file ${_schema_srcs} )
27
+ string (REGEX REPLACE "[.]fbs$" "_generated.h" generated "${fbs_file} " )
28
+ list (APPEND _schema_outputs
29
+ "${_program_schema__include_dir} /executorch/${generated} " )
30
+ endforeach ()
31
+
32
+ # Generate the headers from the .fbs files.
33
+ add_custom_command (
34
+ OUTPUT ${_schema_outputs}
35
+ COMMAND
36
+ ${FLATC_EXECUTABLE} --cpp --cpp-std c++11 --gen-mutable --scoped-enums -o
37
+ "${_program_schema__include_dir} /executorch/schema" ${_schema_srcs}
38
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
39
+ DEPENDS ${FLATC_EXECUTABLE} ${_schema_srcs}
40
+ COMMENT "Generating ${_schema_name} headers"
41
+ VERBATIM )
42
+
43
+ add_library (${_schema_name} INTERFACE ${_schema_outputs} )
44
+ set_target_properties (${_schema_name} PROPERTIES LINKER_LANGUAGE CXX )
45
+ target_include_directories (
46
+ ${_schema_name}
47
+ INTERFACE ${_program_schema__include_dir}
48
+ ${EXECUTORCH_ROOT} /third-party/flatbuffers/include )
49
+ endfunction ()
50
+
51
+ set (program_schema_srcs program .fbs scalar_type.fbs )
52
+ generate_program_schema ("${program_schema_srcs} " "program_schema" )
53
+
54
+ set (bundled_schema_srcs bundled_program_schema.fbs scalar_type.fbs )
55
+ generate_program_schema ("${bundled_schema_srcs} " "bundled_schema" )
0 commit comments