# For a better template to copy, see examples/standalone include_directories(include) add_subdirectory(include) set(LLVM_LINK_COMPONENTS Support ) set(LLVM_TARGET_DEFINITIONS mlir/ToyCombine.td) mlir_tablegen(ToyCombine.inc -gen-rewriters) add_public_tablegen_target(ToyCh5CombineIncGen) add_toy_chapter(toyc-ch5 toyc.cpp parser/AST.cpp mlir/MLIRGen.cpp mlir/Dialect.cpp mlir/LowerToAffineLoops.cpp mlir/ShapeInferencePass.cpp mlir/ToyCombine.cpp DEPENDS ToyCh5ShapeInferenceInterfaceIncGen ToyCh5OpsIncGen ToyCh5CombineIncGen ) include_directories(${CMAKE_CURRENT_BINARY_DIR}) include_directories(${CMAKE_CURRENT_BINARY_DIR}/include/) get_property(dialect_libs GLOBAL PROPERTY MLIR_DIALECT_LIBS) get_property(extension_libs GLOBAL PROPERTY MLIR_EXTENSION_LIBS) target_link_libraries(toyc-ch5 PRIVATE ${dialect_libs} ${extension_libs} MLIRAnalysis MLIRCallInterfaces MLIRCastInterfaces MLIRFunctionInterfaces MLIRIR MLIRParser MLIRPass MLIRSideEffectInterfaces MLIRSupport MLIRTransforms)