################################################################################
# Autogenerated by build_tools/bazel_to_cmake/bazel_to_cmake.py from           #
# runtime/src/iree/hal/drivers/vulkan/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
    api
  HDRS
    "api.h"
  DEPS
    iree::base
    iree::hal
  PUBLIC
)

iree_cc_library(
  NAME
    headers
  HDRS
    "api.h"
    "command_buffer.h"
    "debug_utils.h"
    "device_options.h"
    "device_plan.h"
    "executable.h"
    "physical_device.h"
    "physical_device_selection.h"
    "spirv.h"
  DEPS
    ::api
    Vulkan::Headers
    iree::base
    iree::hal
    iree::hal::drivers::vulkan::util::libvulkan
  PUBLIC
)

iree_cc_test(
  NAME
    api_test
  SRCS
    "api_test.cc"
  DEPS
    ::headers
    ::vulkan
    Vulkan::Headers
    iree::base
    iree::testing::gtest
    iree::testing::gtest_main
  GROUP
    "iree-hal-drivers-vulkan-tests"
)

iree_cc_test(
  NAME
    command_buffer_test
  SRCS
    "command_buffer_test.cc"
  DEPS
    ::headers
    ::vulkan
    iree::base
    iree::base::internal::arena
    iree::hal
    iree::testing::gtest
    iree::testing::gtest_main
  GROUP
    "iree-hal-drivers-vulkan-tests"
)

iree_cc_test(
  NAME
    debug_utils_test
  SRCS
    "debug_utils_test.cc"
  DEPS
    ::headers
    ::vulkan
    iree::base
    iree::testing::gtest
    iree::testing::gtest_main
  GROUP
    "iree-hal-drivers-vulkan-tests"
)

iree_cc_test(
  NAME
    device_options_test
  SRCS
    "device_options_test.cc"
  DEPS
    ::headers
    ::vulkan
    iree::base
    iree::testing::gtest
    iree::testing::gtest_main
  GROUP
    "iree-hal-drivers-vulkan-tests"
)

iree_cc_test(
  NAME
    device_plan_test
  SRCS
    "device_plan_test.cc"
  DEPS
    ::headers
    ::vulkan
    iree::base
    iree::testing::gtest
    iree::testing::gtest_main
  GROUP
    "iree-hal-drivers-vulkan-tests"
)

iree_cc_test(
  NAME
    executable_test
  SRCS
    "executable_test.cc"
  DEPS
    ::headers
    ::vulkan
    iree::base
    iree::base::core_headers
    iree::base::internal::flatcc::building
    iree::hal
    iree::hal::utils::executable_header
    iree::schemas::vulkan_executable_def_c_fbs
    iree::testing::gtest
    iree::testing::gtest_main
  GROUP
    "iree-hal-drivers-vulkan-tests"
)

iree_cc_test(
  NAME
    physical_device_selection_test
  SRCS
    "physical_device_selection_test.cc"
  DEPS
    ::headers
    ::vulkan
    iree::base
    iree::testing::gtest
    iree::testing::gtest_main
  GROUP
    "iree-hal-drivers-vulkan-tests"
)

iree_cc_test(
  NAME
    spirv_test
  SRCS
    "spirv_test.cc"
  DEPS
    ::headers
    ::vulkan
    iree::base
    iree::testing::gtest
    iree::testing::gtest_main
  GROUP
    "iree-hal-drivers-vulkan-tests"
)

iree_cc_library(
  NAME
    vulkan
  SRCS
    "allocator.c"
    "allocator.h"
    "api.c"
    "buffer.c"
    "buffer.h"
    "builtins.c"
    "builtins.h"
    "command_buffer.c"
    "command_buffer.h"
    "debug_utils.c"
    "debug_utils.h"
    "device_options.c"
    "device_options.h"
    "device_plan.c"
    "device_plan.h"
    "driver.c"
    "driver.h"
    "executable.c"
    "executable.h"
    "executable_cache.c"
    "executable_cache.h"
    "logical_device.c"
    "logical_device.h"
    "physical_device.c"
    "physical_device.h"
    "physical_device_selection.c"
    "physical_device_selection.h"
    "queue.c"
    "queue.h"
    "semaphore.c"
    "semaphore.h"
    "slab_provider.c"
    "slab_provider.h"
    "sparse_buffer.c"
    "sparse_buffer.h"
    "spirv.c"
    "spirv.h"
    "syms.h"
  DEPS
    ::api
    Vulkan::Headers
    iree::async
    iree::async::util::proactor_pool
    iree::base
    iree::base::core_headers
    iree::base::internal
    iree::base::internal::arena
    iree::base::internal::flatcc::parsing
    iree::base::threading
    iree::base::threading::thread
    iree::hal
    iree::hal::drivers::vulkan::util::libvulkan
    iree::hal::local::profile
    iree::hal::local::transient_buffer
    iree::hal::memory::passthrough_pool
    iree::hal::memory::slab_provider
    iree::hal::memory::tlsf_pool
    iree::hal::memory::tracing
    iree::hal::utils::executable_debug_info
    iree::hal::utils::executable_header
    iree::hal::utils::files
    iree::hal::utils::resource_set
    iree::schemas::executable_debug_info_c_fbs
    iree::schemas::vulkan_executable_def_c_fbs
  PUBLIC
)

### BAZEL_TO_CMAKE_PRESERVES_ALL_CONTENT_BELOW_THIS_LINE ###
