if(NOT IREE_ENABLE_THREADING)
  return()
endif()

### BAZEL_TO_CMAKE_PRESERVES_ALL_CONTENT_ABOVE_THIS_LINE ###
################################################################################
# Autogenerated by build_tools/bazel_to_cmake/bazel_to_cmake.py from           #
# tools/testing/e2e/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
    e2e_test_util
  HDRS
    "test_utils.h"
  SRCS
    "test_utils.c"
  DEPS
    iree::base
    iree::base::internal
    iree::base::internal::cpu
    iree::base::internal::flags
    iree::base::internal::path
    iree::hal
    iree::modules::hal
    iree::tooling::context_util
    iree::tooling::device_util
    iree::vm
    iree::vm::cc
  PUBLIC
)

iree_cc_binary(
  NAME
    iree-e2e-matmul-test
  SRCS
    "iree-e2e-matmul-test.cc"
  DEPS
    ::e2e_test_util
    iree::base
    iree::base::internal
    iree::base::internal::cpu
    iree::base::internal::flags
    iree::base::internal::path
    iree::hal
    iree::modules::hal
    iree::tooling::context_util
    iree::tooling::device_util
    iree::vm
    iree::vm::cc
)

iree_cc_binary(
  NAME
    iree-e2e-conv2d-test
  SRCS
    "iree-e2e-conv2d-test.cc"
  DEPS
    ::e2e_test_util
    iree::base
    iree::base::internal
    iree::base::internal::cpu
    iree::base::internal::flags
    iree::base::internal::path
    iree::hal
    iree::modules::hal
    iree::tooling::context_util
    iree::tooling::device_util
    iree::vm
    iree::vm::cc
)

iree_cc_binary(
  NAME
    iree-e2e-attention-test
  SRCS
    "iree-e2e-attention-test.cc"
  DEPS
    ::e2e_test_util
    iree::base
    iree::base::internal
    iree::base::internal::cpu
    iree::base::internal::flags
    iree::base::internal::path
    iree::hal
    iree::modules::hal
    iree::tooling::context_util
    iree::tooling::device_util
    iree::vm
    iree::vm::cc
)

### BAZEL_TO_CMAKE_PRESERVES_ALL_CONTENT_BELOW_THIS_LINE ###
