set(LLVM_TARGET_DEFINITIONS TFHEAttrs.td)
mlir_tablegen(TFHEAttrs.h.inc -gen-attrdef-decls -attrdefs-dialect=TFHE)
mlir_tablegen(TFHEAttrs.cpp.inc -gen-attrdef-defs -attrdefs-dialect=TFHE)

set(LLVM_TARGET_DEFINITIONS TFHEOps.td)
mlir_tablegen(TFHEOps.h.inc -gen-op-decls)
mlir_tablegen(TFHEOps.cpp.inc -gen-op-defs)
mlir_tablegen(TFHEOpsTypes.h.inc -gen-typedef-decls -typedefs-dialect=TFHE)
mlir_tablegen(TFHEOpsTypes.cpp.inc -gen-typedef-defs -typedefs-dialect=TFHE)
mlir_tablegen(TFHEOpsDialect.h.inc -gen-dialect-decls -dialect=TFHE)
mlir_tablegen(TFHEOpsDialect.cpp.inc -gen-dialect-defs -dialect=TFHE)
add_public_tablegen_target(MLIRTFHEOpsIncGen)
add_dependencies(mlir-headers MLIRTFHEOpsIncGen)

add_concretelang_doc(TFHEOps TFHEDialect concretelang/ -gen-dialect-doc -dialect=TFHE)
add_concretelang_doc(TFHEOps TFHEOps concretelang/ -gen-op-doc)
add_concretelang_doc(TFHEOps TFHEAttrs concretelang/ -gen-attrdef-doc)
add_concretelang_doc(TFHETypes TFHETypes concretelang/ -gen-typedef-doc)
