llvm-project/mlir/lib/TableGen/CMakeLists.txt
River Riddle 2074177301 [mlir][ODS] Add a C++ abstraction for OpBuilders
This removes the need for OpDefinitionsGen to use raw tablegen API, and will also
simplify adding builders to TypeDefs as well.

Differential Revision: https://reviews.llvm.org/D94273
2021-01-11 12:06:22 -08:00

40 lines
1.1 KiB
CMake

# This library is unusual, since mlir-tblgen depends on it, which is
# built with DISABLE_LLVM_LINK_LLVM_DYLIB, this must also be built
# with that option. Otherwise builds with LLVM_BUILD_LLVM_DYLIB and
# LLVM_LINK_LLVM_DYLIB fail. (Note that even if this has no llvm
# component dependencies, LLVM_LINK_LLVM_DYLIB tends to introduce a
# dependence on libLLVM.so) However, it must also be linkable against
# libMLIR.so in some contexts (see unittests/Tablegen, for instance, which
# has a dependence on MLIRIR, which must depend on libLLVM.so). This works
# in this special case because this library is static.
llvm_add_library(MLIRTableGen STATIC
Argument.cpp
Attribute.cpp
Builder.cpp
Constraint.cpp
Dialect.cpp
Format.cpp
Interfaces.cpp
Operator.cpp
OpClass.cpp
OpTrait.cpp
Pass.cpp
Pattern.cpp
Predicate.cpp
Region.cpp
SideEffects.cpp
Successor.cpp
Type.cpp
TypeDef.cpp
DISABLE_LLVM_LINK_LLVM_DYLIB
ADDITIONAL_HEADER_DIRS
${MLIR_MAIN_INCLUDE_DIR}/mlir/TableGen
)
mlir_check_all_link_libraries(MLIRTableGen)
add_mlir_library_install(MLIRTableGen)