1- # this is so tablegen emits stuff into this dir
2- set (CMAKE_CURRENT_BINARY_DIR ${CMAKE_CURRENT_SOURCE_DIR} )
3-
41set (dialect Minimal)
52set (dialect_namespace minimal)
63set (LLVM_TARGET_DEFINITIONS ${dialect} Dialect.td)
74
85mlir_tablegen(${dialect} Ops.h.inc -gen-op-decls)
6+ set (OPS_H_INC_TABLEGEN_OUTPUT ${TABLEGEN_OUTPUT} )
97mlir_tablegen(${dialect} Ops.cpp.inc -gen-op-defs)
8+ set (OPS_CPP_INC_TABLEGEN_OUTPUT ${TABLEGEN_OUTPUT} )
109mlir_tablegen(${dialect} Types.h.inc -gen-typedef-decls
1110 -typedefs-dialect=${dialect_namespace} )
11+ set (TYPES_H_INC_TABLEGEN_OUTPUT ${TABLEGEN_OUTPUT} )
1212mlir_tablegen(${dialect} Types.cpp.inc -gen-typedef-defs
1313 -typedefs-dialect=${dialect_namespace} )
14+ set (TYPES_CPP_INC_TABLEGEN_OUTPUT ${TABLEGEN_OUTPUT} )
1415mlir_tablegen(${dialect} Dialect.h.inc -gen-dialect-decls
1516 -dialect=${dialect_namespace} )
17+ set (DIALECT_H_INC_TABLEGEN_OUTPUT ${TABLEGEN_OUTPUT} )
1618mlir_tablegen(${dialect} Dialect.cpp.inc -gen-dialect-defs
1719 -dialect=${dialect_namespace} )
20+ set (DIALECT_CPP_INC_TABLEGEN_OUTPUT ${TABLEGEN_OUTPUT} )
1821mlir_tablegen(MinimalPasses.h.inc --gen-pass-decls)
22+ set (PASS_H_INC_TABLEGEN_OUTPUT ${TABLEGEN_OUTPUT} )
1923
2024add_public_tablegen_target(MLIR${dialect} IncGen)
25+
26+ set (generated_files
27+ ${CMAKE_CURRENT_SOURCE_DIR} /${dialect} Ops.h.inc
28+ ${CMAKE_CURRENT_SOURCE_DIR} /${dialect} Ops.cpp.inc
29+ ${CMAKE_CURRENT_SOURCE_DIR} /${dialect} Types.h.inc
30+ ${CMAKE_CURRENT_SOURCE_DIR} /${dialect} Types.cpp.inc
31+ ${CMAKE_CURRENT_SOURCE_DIR} /${dialect} Dialect.h.inc
32+ ${CMAKE_CURRENT_SOURCE_DIR} /${dialect} Dialect.cpp.inc
33+ ${CMAKE_CURRENT_SOURCE_DIR} /${dialect} MinimalPasses.h.inc
34+ )
35+
36+ # copy generated files from build dir to here
37+ add_custom_command (
38+ OUTPUT
39+ ${generated_files}
40+ DEPENDS
41+ MLIR${dialect} IncGen
42+ COMMENT
43+ "copying generated td files from build to src include dir"
44+ COMMAND
45+ ${CMAKE_COMMAND} -E copy ${OPS_H_INC_TABLEGEN_OUTPUT} ${CMAKE_CURRENT_SOURCE_DIR}
46+ COMMAND
47+ ${CMAKE_COMMAND} -E copy ${OPS_CPP_INC_TABLEGEN_OUTPUT} ${CMAKE_CURRENT_SOURCE_DIR}
48+ COMMAND
49+ ${CMAKE_COMMAND} -E copy ${TYPES_H_INC_TABLEGEN_OUTPUT} ${CMAKE_CURRENT_SOURCE_DIR}
50+ COMMAND
51+ ${CMAKE_COMMAND} -E copy ${TYPES_CPP_INC_TABLEGEN_OUTPUT} ${CMAKE_CURRENT_SOURCE_DIR}
52+ COMMAND
53+ ${CMAKE_COMMAND} -E copy ${DIALECT_H_INC_TABLEGEN_OUTPUT} ${CMAKE_CURRENT_SOURCE_DIR}
54+ COMMAND
55+ ${CMAKE_COMMAND} -E copy ${DIALECT_CPP_INC_TABLEGEN_OUTPUT} ${CMAKE_CURRENT_SOURCE_DIR}
56+ COMMAND
57+ ${CMAKE_COMMAND} -E copy ${PASS_H_INC_TABLEGEN_OUTPUT} ${CMAKE_CURRENT_SOURCE_DIR}
58+ )
59+
60+ add_custom_target (copy_generated_td_to_src_include DEPENDS ${generated_files} )
0 commit comments