################################################################################
# Autogenerated by build_tools/bazel_to_cmake/bazel_to_cmake.py from           #
# compiler/plugins/target/MetalSPIRV/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_compiler_register_plugin(
  PLUGIN_ID
    hal_target_metal_spirv
  TARGET
    ::MetalSPIRV
)

iree_cc_library(
  NAME
    MetalSPIRV
  SRCS
    "MetalSPIRVTarget.cpp"
  DEPS
    ::MSLToMetalLib
    ::MetalTargetPlatform
    ::SPIRVToMSL
    LLVMSupport
    LLVMTargetParser
    MLIRAffineDialect
    MLIRGPUDialect
    MLIRLinalgDialect
    MLIRSPIRVDialect
    MLIRSPIRVSerialization
    MLIRVectorDialect
    iree::compiler::Codegen::Common
    iree::compiler::Codegen::Dialect::Codegen::IR::IREECodegenDialect
    iree::compiler::Codegen::Dialect::GPU::TargetUtils::KnownTargets
    iree::compiler::Codegen::SPIRV
    iree::compiler::Codegen::Utils
    iree::compiler::Dialect::Flow::IR
    iree::compiler::Dialect::HAL::Target
    iree::compiler::Dialect::HAL::Utils::ExecutableDebugInfoUtils
    iree::compiler::PluginAPI
    iree::compiler::Utils
    iree::schemas::executable_debug_info_c_fbs
    iree::schemas::metal_executable_def_c_fbs
  PUBLIC
)

iree_cc_library(
  NAME
    MetalTargetPlatform
  HDRS
    "MetalTargetPlatform.h"
  DEPS

  PUBLIC
)

iree_cc_library(
  NAME
    SPIRVToMSL
  HDRS
    "SPIRVToMSL.h"
  SRCS
    "SPIRVToMSL.cpp"
  DEPS
    ::MetalTargetPlatform
    LLVMSupport
    MLIRSupport
    spirv-cross-msl
  PUBLIC
)

iree_cc_library(
  NAME
    MSLToMetalLib
  HDRS
    "MSLToMetalLib.h"
  SRCS
    "MSLToMetalLib.cpp"
  DEPS
    ::MetalTargetPlatform
    LLVMSupport
    MLIRSupport
  PUBLIC
)

### BAZEL_TO_CMAKE_PRESERVES_ALL_CONTENT_BELOW_THIS_LINE ###
