################################################################################
# Autogenerated by build_tools/bazel_to_cmake/bazel_to_cmake.py from           #
# runtime/src/iree/tokenizer/model/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
    model_test_util
  HDRS
    "model_test_util.h"
  SRCS
    "model_test_util.cc"
  DEPS
    iree::base
    iree::testing::gtest
    iree::tokenizer::model
    iree::tokenizer::testing::test_util
    iree::tokenizer::vocab
    iree::tokenizer::vocab::vocab_builder
  TESTONLY
  PUBLIC
)

iree_cc_library(
  NAME
    bpe
  HDRS
    "bpe.h"
    "bpe_internal.h"
  SRCS
    "bpe.c"
    "bpe_backtrack.c"
    "bpe_cache.c"
    "bpe_encode.c"
    "bpe_tables.c"
    "bpe_window.c"
  DEPS
    ::bpe_heap
    iree::base
    iree::base::internal
    iree::tokenizer::byte_level_tables
    iree::tokenizer::model
    iree::tokenizer::types
    iree::tokenizer::vocab
    iree::tokenizer::vocab::vocab_merge_hash
    iree::tokenizer::vocab::vocab_trie
  PUBLIC
)

iree_cc_test(
  NAME
    bpe_test
  SRCS
    "bpe_test.cc"
  DEPS
    ::bpe
    ::model_test_util
    iree::base
    iree::testing::gtest
    iree::testing::gtest_main
    iree::tokenizer::vocab::vocab_builder
)

iree_cc_test(
  NAME
    bpe_backtrack_test
  SRCS
    "bpe_backtrack_test.cc"
  DEPS
    ::bpe
    ::model_test_util
    iree::base
    iree::testing::gtest
    iree::testing::gtest_main
    iree::tokenizer::vocab::vocab_builder
)

iree_cc_library(
  NAME
    bpe_heap
  HDRS
    "bpe_heap.h"
  SRCS
    "bpe_heap.c"
  DEPS
    iree::base
  PUBLIC
)

iree_cc_test(
  NAME
    bpe_heap_test
  SRCS
    "bpe_heap_test.cc"
  DEPS
    ::bpe_heap
    iree::testing::gtest
    iree::testing::gtest_main
)

iree_cc_binary_benchmark(
  NAME
    bpe_heap_benchmark
  SRCS
    "bpe_heap_benchmark.cc"
  DEPS
    ::bpe_heap
    benchmark
    iree::base
    iree::testing::benchmark_main
  TESTONLY
)

iree_cc_library(
  NAME
    wordpiece
  HDRS
    "wordpiece.h"
  SRCS
    "wordpiece.c"
  DEPS
    iree::base
    iree::tokenizer::model
    iree::tokenizer::types
    iree::tokenizer::vocab
  PUBLIC
)

iree_cc_test(
  NAME
    wordpiece_test
  SRCS
    "wordpiece_test.cc"
  DEPS
    ::model_test_util
    ::wordpiece
    iree::base
    iree::testing::gtest
    iree::testing::gtest_main
)

iree_cc_library(
  NAME
    unigram
  HDRS
    "unigram.h"
  SRCS
    "unigram.c"
  DEPS
    iree::base
    iree::tokenizer::model
    iree::tokenizer::types
    iree::tokenizer::vocab
    iree::tokenizer::vocab::vocab_trie
  PUBLIC
)

iree_cc_test(
  NAME
    unigram_test
  SRCS
    "unigram_test.cc"
  DEPS
    ::model_test_util
    ::unigram
    iree::base
    iree::testing::gtest
    iree::testing::gtest_main
)

iree_cc_fuzz(
  NAME
    bpe_fuzz
  SRCS
    "bpe_fuzz.cc"
  DEPS
    ::bpe
    iree::base
    iree::tokenizer::vocab
    iree::tokenizer::vocab::vocab_builder
)

iree_cc_fuzz(
  NAME
    unigram_fuzz
  SRCS
    "unigram_fuzz.cc"
  DEPS
    ::unigram
    iree::base
    iree::tokenizer::vocab
    iree::tokenizer::vocab::vocab_builder
)

iree_cc_fuzz(
  NAME
    wordpiece_fuzz
  SRCS
    "wordpiece_fuzz.cc"
  DEPS
    ::wordpiece
    iree::base
    iree::tokenizer::vocab
    iree::tokenizer::vocab::vocab_builder
)

### BAZEL_TO_CMAKE_PRESERVES_ALL_CONTENT_BELOW_THIS_LINE ###
