################################################################################
# Autogenerated by build_tools/bazel_to_cmake/bazel_to_cmake.py from           #
# samples/simple_embedding/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()

if(IREE_HAL_DRIVER_LOCAL_SYNC AND IREE_HAL_EXECUTABLE_LOADER_VMVX_MODULE AND
   (IREE_TARGET_BACKEND_VMVX OR IREE_HOST_BIN_DIR))

iree_cc_binary(
  NAME
    simple_embedding_vmvx_sync
  SRCS
    "device_vmvx_sync.c"
    "simple_embedding.c"
  DEPS
    ::simple_embedding_test_bytecode_module_vmvx_c
    iree::base
    iree::hal
    iree::hal::drivers::local_sync::sync_driver
    iree::hal::local
    iree::hal::local::loaders::vmvx_module_loader
    iree::modules::hal
    iree::vm
    iree::vm::bytecode::module
)

iree_bytecode_module(
  NAME
    simple_embedding_test_bytecode_module_vmvx
  SRC
    "simple_embedding_test.mlir"
  C_IDENTIFIER
    "iree_samples_simple_embedding_test_module_vmvx"
  FLAGS
    "--iree-hal-target-backends=vmvx"
  PUBLIC
)

iree_native_test(
  NAME
    "simple_embedding_vmvx_sync_test"
  SRC
    ::simple_embedding_vmvx_sync
)

endif()

iree_compiler_targeting_iree_arch(_IREE_COMPILER_TARGETING_ARM_32 "arm_32")
iree_compiler_targeting_iree_arch(_IREE_COMPILER_TARGETING_ARM_64 "arm_64")
iree_compiler_targeting_iree_arch(_IREE_COMPILER_TARGETING_RISCV_32 "riscv_32")
iree_compiler_targeting_iree_arch(_IREE_COMPILER_TARGETING_RISCV_64 "riscv_64")
iree_compiler_targeting_iree_arch(_IREE_COMPILER_TARGETING_X86_64 "x86_64")
if(IREE_HAL_DRIVER_LOCAL_SYNC AND
   IREE_HAL_EXECUTABLE_LOADER_EMBEDDED_ELF AND
   ((IREE_TARGET_BACKEND_LLVM_CPU AND
    _IREE_COMPILER_TARGETING_ARM_32 AND
    _IREE_COMPILER_TARGETING_ARM_64 AND
    _IREE_COMPILER_TARGETING_RISCV_32 AND
    _IREE_COMPILER_TARGETING_RISCV_64 AND
    _IREE_COMPILER_TARGETING_X86_64) OR IREE_HOST_BIN_DIR))

iree_cc_binary(
  NAME
    simple_embedding_embedded_sync
  SRCS
    "device_embedded_sync.c"
    "simple_embedding.c"
  DEPS
    ::simple_embedding_test_bytecode_module_cpu_arm_32_c
    ::simple_embedding_test_bytecode_module_cpu_arm_64_c
    ::simple_embedding_test_bytecode_module_cpu_riscv_32_c
    ::simple_embedding_test_bytecode_module_cpu_riscv_64_c
    ::simple_embedding_test_bytecode_module_cpu_x86_64_c
    iree::base
    iree::hal
    iree::hal::drivers::local_sync::sync_driver
    iree::hal::local
    iree::hal::local::loaders::embedded_elf_loader
    iree::modules::hal
    iree::vm
    iree::vm::bytecode::module
)

iree_bytecode_module(
  NAME
    simple_embedding_test_bytecode_module_cpu_x86_64
  SRC
    "simple_embedding_test.mlir"
  C_IDENTIFIER
    "iree_samples_simple_embedding_test_module_cpu_x86_64"
  FLAGS
    "--iree-hal-target-backends=llvm-cpu"
    "--iree-llvmcpu-target-triple=x86_64-pc-linux-elf"
    "--iree-llvmcpu-target-cpu=generic"
    "--iree-llvmcpu-debug-symbols=false"
    "--iree-vm-bytecode-module-strip-source-map=true"
    "--iree-vm-emit-polyglot-zip=false"
  PUBLIC
)

iree_bytecode_module(
  NAME
    simple_embedding_test_bytecode_module_cpu_riscv_32
  SRC
    "simple_embedding_test.mlir"
  C_IDENTIFIER
    "iree_samples_simple_embedding_test_module_cpu_riscv_32"
  FLAGS
    "--iree-hal-target-backends=llvm-cpu"
    "--iree-llvmcpu-target-triple=riscv32-pc-linux-elf"
    "--iree-llvmcpu-target-cpu-features=+m,+f"
    "--iree-llvmcpu-target-abi=ilp32"
    "--iree-llvmcpu-debug-symbols=false"
    "--iree-vm-bytecode-module-strip-source-map=true"
    "--iree-vm-emit-polyglot-zip=false"
  PUBLIC
)

iree_bytecode_module(
  NAME
    simple_embedding_test_bytecode_module_cpu_riscv_64
  SRC
    "simple_embedding_test.mlir"
  C_IDENTIFIER
    "iree_samples_simple_embedding_test_module_cpu_riscv_64"
  FLAGS
    "--iree-hal-target-backends=llvm-cpu"
    "--iree-llvmcpu-target-triple=riscv64-pc-linux-elf"
    "--iree-llvmcpu-target-cpu-features=+m,+a,+f,+d,+c"
    "--iree-llvmcpu-target-abi=lp64d"
    "--iree-llvmcpu-debug-symbols=false"
    "--iree-vm-bytecode-module-strip-source-map=true"
    "--iree-vm-emit-polyglot-zip=false"
  PUBLIC
)

iree_bytecode_module(
  NAME
    simple_embedding_test_bytecode_module_cpu_arm_32
  SRC
    "simple_embedding_test.mlir"
  C_IDENTIFIER
    "iree_samples_simple_embedding_test_module_cpu_arm_32"
  FLAGS
    "--iree-hal-target-backends=llvm-cpu"
    "--iree-llvmcpu-target-triple=armv7a-pc-linux-elf"
    "--iree-llvmcpu-target-cpu=generic"
    "--iree-llvmcpu-target-float-abi=hard"
    "--iree-llvmcpu-debug-symbols=false"
    "--iree-vm-bytecode-module-strip-source-map=true"
    "--iree-vm-emit-polyglot-zip=false"
  PUBLIC
)

iree_bytecode_module(
  NAME
    simple_embedding_test_bytecode_module_cpu_arm_64
  SRC
    "simple_embedding_test.mlir"
  C_IDENTIFIER
    "iree_samples_simple_embedding_test_module_cpu_arm_64"
  FLAGS
    "--iree-hal-target-backends=llvm-cpu"
    "--iree-llvmcpu-target-triple=aarch64-pc-linux-elf"
    "--iree-llvmcpu-target-cpu=generic"
    "--iree-llvmcpu-debug-symbols=false"
    "--iree-vm-bytecode-module-strip-source-map=true"
    "--iree-vm-emit-polyglot-zip=false"
  PUBLIC
)

iree_native_test(
  NAME
    "simple_embedding_embedded_sync_test"
  SRC
    ::simple_embedding_embedded_sync
)

if(IREE_HAL_DRIVER_LOCAL_TASK AND IREE_HAL_EXECUTABLE_LOADER_EMBEDDED_ELF)

iree_cc_binary(
  NAME
    simple_embedding_embedded
  SRCS
    "device_embedded.c"
    "simple_embedding.c"
  DEPS
    ::simple_embedding_test_bytecode_module_cpu_arm_64_c
    ::simple_embedding_test_bytecode_module_cpu_riscv_32_c
    ::simple_embedding_test_bytecode_module_cpu_riscv_64_c
    ::simple_embedding_test_bytecode_module_cpu_x86_64_c
    iree::base
    iree::hal
    iree::hal::drivers::local_task::task_driver
    iree::hal::local
    iree::hal::local::loaders::embedded_elf_loader
    iree::modules::hal
    iree::task::api
    iree::vm
    iree::vm::bytecode::module
)

iree_native_test(
  NAME
    "simple_embedding_embedded_test"
  SRC
    ::simple_embedding_embedded
)

endif()

endif()

if(IREE_HAL_DRIVER_VULKAN AND
   (IREE_TARGET_BACKEND_VULKAN_SPIRV OR IREE_HOST_BIN_DIR))

iree_cc_binary(
  NAME
    simple_embedding_vulkan
  SRCS
    "device_vulkan.c"
    "simple_embedding.c"
  DEPS
    ::simple_embedding_test_bytecode_module_vulkan_c
    iree::base
    iree::hal
    iree::hal::drivers::vulkan::registration
    iree::modules::hal
    iree::vm
    iree::vm::bytecode::module
)

iree_bytecode_module(
  NAME
    simple_embedding_test_bytecode_module_vulkan
  SRC
    "simple_embedding_test.mlir"
  C_IDENTIFIER
    "iree_samples_simple_embedding_test_module_vulkan"
  FLAGS
    "--iree-hal-target-backends=vulkan-spirv"
    "--iree-llvmcpu-debug-symbols=false"
  PUBLIC
)

iree_native_test(
  NAME
    "simple_embedding_vulkan_test"
  SRC
    ::simple_embedding_vulkan
  LABELS
    "driver=vulkan"
)

endif()

### BAZEL_TO_CMAKE_PRESERVES_ALL_CONTENT_BELOW_THIS_LINE ###
