xref: /llvm-project/mlir/examples/transform/Ch3/include/CMakeLists.txt (revision d8c18e422baa637b0208833be4a4b4ce4b06f212)
1# Tell Tablegen to use MyExtension.td as input.
2set(LLVM_TARGET_DEFINITIONS MyExtension.td)
3
4# Ask Tablegen to generate op declarations and definitions from ODS.
5mlir_tablegen(MyExtension.h.inc -gen-op-decls)
6mlir_tablegen(MyExtension.cpp.inc -gen-op-defs)
7
8# Tell Tablegen to use MyExtensionTypes.td as input.
9set(LLVM_TARGET_DEFINITIONS MyExtensionTypes.td)
10
11# Ask Tablegen to generate type declarations and definitions from ODS.
12mlir_tablegen(MyExtensionTypes.h.inc -gen-typedef-decls)
13mlir_tablegen(MyExtensionTypes.cpp.inc -gen-typedef-defs)
14
15# Add a CMakeTarget we can depend on to ensure the generation happens before the compilation.
16add_public_tablegen_target(MyExtensionCh3IncGen)
17
18# Don't forget to generate the documentation, this will produce a
19# MyExtensionCh3.md under Tutorials/transform
20add_mlir_doc(MyExtension MyExtensionCh3 Tutorials/transform/ -gen-op-doc)
21