################################################################################
# Autogenerated by build_tools/bazel_to_cmake/bazel_to_cmake.py from           #
# samples/compiler_plugins/simple_io_sample/BUILD.bazel                        #
#                                                                              #
# Use iree_cmake_extra_content from iree/build_defs.oss.bzl to add arbitrary   #
# CMake-only content.                                                          #
#                                                                              #
# To disable autogeneration for this file entirely, delete this header.        #
################################################################################

iree_add_all_subdirs()

iree_cc_library(
  NAME
    defs
  INCLUDES
    "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src>"
    "$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/src>"
  PUBLIC
)

iree_cc_library(
  NAME
    registration
  SRCS
    "src/PluginRegistration.cpp"
  DEPS
    ::IR
    ::Transforms
    ::defs
    MLIRIR
    MLIRPass
    iree::compiler::PluginAPI
  PUBLIC
)

iree_compiler_register_plugin(
  PLUGIN_ID
    simple_io_sample
  TARGET
    ::registration
)

iree_cc_library(
  NAME
    IR
  HDRS
    "src/simple_io_sample/IR/SimpleIODialect.h"
    "src/simple_io_sample/IR/SimpleIOOps.h"
    "src/simple_io_sample/IR/SimpleIOOps.h.inc"
  SRCS
    "src/simple_io_sample/IR/SimpleIODialect.cpp"
    "src/simple_io_sample/IR/SimpleIOOps.cpp"
    "src/simple_io_sample/IR/SimpleIOOps.cpp.inc"
  DEPS
    ::SimpleIOOpsGen
    ::defs
    LLVMSupport
    MLIRFuncDialect
    MLIRFunctionInterfaces
    MLIRIR
    MLIRSupport
  PUBLIC
)

iree_tablegen_library(
  NAME
    SimpleIOOpsGen
  TD_FILE
    "src/simple_io_sample/IR/SimpleIOOps.td"
  OUTS
    --gen-dialect-decls src/simple_io_sample/IR/SimpleIODialect.h.inc
    --gen-dialect-defs src/simple_io_sample/IR/SimpleIODialect.cpp.inc
    --gen-op-decls src/simple_io_sample/IR/SimpleIOOps.h.inc
    --gen-op-defs src/simple_io_sample/IR/SimpleIOOps.cpp.inc
)

iree_cc_library(
  NAME
    Transforms
  HDRS
    "src/simple_io_sample/Transforms/Passes.h"
    "src/simple_io_sample/Transforms/Passes.h.inc"
  SRCS
    "src/simple_io_sample/Transforms/LegalizeSimpleIO.cpp"
  DEPS
    ::IR
    ::PassesIncGen
    ::defs
    MLIRFuncDialect
    MLIRFunctionInterfaces
    MLIRIR
    MLIRPass
  PUBLIC
)

iree_tablegen_library(
  NAME
    PassesIncGen
  TD_FILE
    "src/simple_io_sample/Transforms/Passes.td"
  OUTS
    --gen-pass-decls src/simple_io_sample/Transforms/Passes.h.inc
)

iree_tablegen_doc(
  NAME
    SimpleIODialectDocGen
  TD_FILE
    "src/simple_io_sample/IR/SimpleIOOps.td"
  OUTS
    --gen-dialect-doc -dialect=simple_io src/simple_io_sample/IR/SimpleIODialect.md
)

### BAZEL_TO_CMAKE_PRESERVES_ALL_CONTENT_BELOW_THIS_LINE ###
