set(LLVM_OPTIONAL_SOURCES CallInterfaces.cpp ControlFlowInterfaces.cpp CopyOpInterface.cpp DerivedAttributeOpInterface.cpp InferTypeOpInterface.cpp LoopLikeInterface.cpp SideEffectInterfaces.cpp VectorInterfaces.cpp ViewLikeInterface.cpp ) function(add_mlir_interface_library name) add_mlir_library(MLIR${name} ${name}.cpp ADDITIONAL_HEADER_DIRS ${MLIR_MAIN_INCLUDE_DIR}/mlir/Interfaces DEPENDS MLIR${name}IncGen LINK_LIBS PUBLIC MLIRIR ) endfunction(add_mlir_interface_library) add_mlir_interface_library(CallInterfaces) add_mlir_interface_library(ControlFlowInterfaces) add_mlir_interface_library(CopyOpInterface) add_mlir_interface_library(DerivedAttributeOpInterface) add_mlir_interface_library(InferTypeOpInterface) add_mlir_interface_library(LoopLikeInterface) add_mlir_interface_library(SideEffectInterfaces) add_mlir_interface_library(VectorInterfaces) add_mlir_interface_library(ViewLikeInterface)