################################################################################
# Autogenerated by build_tools/bazel_to_cmake/bazel_to_cmake.py from           #
# runtime/src/iree/async/platform/io_uring/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(CMAKE_SYSTEM_NAME STREQUAL "Linux")
iree_cc_library(
  NAME
    io_uring
  HDRS
    "api.h"
  SRCS
    "notification.c"
    "notification.h"
    "proactor.c"
    "proactor.h"
    "proactor_probe.c"
    "proactor_registration.c"
    "proactor_submit.c"
    "relay.c"
    "relay.h"
    "socket.c"
    "socket.h"
  DEPS
    ::buffer_ring
    ::defs
    ::sparse_table
    ::uring
    iree::async
    iree::async::platform::linux::signal
    iree::async::types
    iree::async::util::continuation
    iree::async::util::intrusive_list
    iree::async::util::message_pool
    iree::async::util::sequence_emulation
    iree::async::util::signal
    iree::base
    iree::base::internal
    iree::base::internal::atomic_slist
    iree::base::internal::memory
    iree::base::threading
  PUBLIC
)
endif()

if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
iree_cc_library(
  NAME
    defs
  HDRS
    "defs.h"
  DEPS
    iree::base::core_headers
  PUBLIC
)
endif()

if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
iree_cc_library(
  NAME
    buffer_ring
  HDRS
    "buffer_ring.h"
  SRCS
    "buffer_ring.c"
  DEPS
    ::defs
    iree::base
    iree::base::internal
    iree::base::internal::memory
  PUBLIC
)
endif()

if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
iree_cc_library(
  NAME
    uring
  HDRS
    "uring.h"
  SRCS
    "uring.c"
  DEPS
    ::defs
    iree::base
    iree::base::internal
  PUBLIC
)
endif()

if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
iree_cc_library(
  NAME
    sparse_table
  HDRS
    "sparse_table.h"
  SRCS
    "sparse_table.c"
  DEPS
    iree::base
    iree::base::threading
  PUBLIC
)
endif()

if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
iree_cc_test(
  NAME
    sparse_table_test
  SRCS
    "sparse_table_test.cc"
  DEPS
    ::sparse_table
    iree::testing::gtest
    iree::testing::gtest_main
)
endif()

if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
iree_cc_test(
  NAME
    uring_test
  SRCS
    "uring_test.cc"
  DEPS
    ::defs
    ::uring
    iree::testing::gtest
    iree::testing::gtest_main
)
endif()

### BAZEL_TO_CMAKE_PRESERVES_ALL_CONTENT_BELOW_THIS_LINE ###
