
# This file was generated by the build system used internally in the Yandex monorepo.
# Only simple modifications are allowed (adding source-files to targets, adding simple properties
# like target_include_directories). These modifications will be ported to original
# ya.make files by maintainers. Any complex modifications which can't be ported back to the
# original buildsystem will not be accepted.


add_subdirectory(ut)
get_built_tool_path(
  TOOL_enum_parser_bin
  TOOL_enum_parser_dependency
  tools/enum_parser/enum_parser
  enum_parser
)
get_built_tool_path(
  TOOL_enum_parser_bin
  TOOL_enum_parser_dependency
  tools/enum_parser/enum_parser
  enum_parser
)
get_built_tool_path(
  TOOL_enum_parser_bin
  TOOL_enum_parser_dependency
  tools/enum_parser/enum_parser
  enum_parser
)
get_built_tool_path(
  TOOL_enum_parser_bin
  TOOL_enum_parser_dependency
  tools/enum_parser/enum_parser
  enum_parser
)
get_built_tool_path(
  TOOL_enum_parser_bin
  TOOL_enum_parser_dependency
  tools/enum_parser/enum_parser
  enum_parser
)

add_library(catboost-libs-data)
target_link_libraries(catboost-libs-data PUBLIC
  contrib-libs-cxxsupp
  yutil
  library-cpp-pop_count
  library-cpp-dbg_output
  library-cpp-json
  library-cpp-object_factory
  cpp-string_utils-csv
  cpp-threading-future
  cpp-threading-local_executor
  catboost-libs-cat_feature
  catboost-libs-column_description
  private-libs-ctr_description
  private-libs-data_types
  private-libs-data_util
  private-libs-feature_estimator
  catboost-libs-helpers
  private-libs-index_range
  private-libs-labels
  catboost-libs-logging
  catboost-libs-model
  private-libs-options
  private-libs-text_processing
  private-libs-quantization
  private-libs-quantization_schema
  tools-enum_parser-enum_serialization_runtime
)
target_sources(catboost-libs-data PRIVATE
  ${CMAKE_SOURCE_DIR}/catboost/libs/data/async_row_processor.cpp
  ${CMAKE_SOURCE_DIR}/catboost/libs/data/baseline.cpp
  ${CMAKE_SOURCE_DIR}/catboost/libs/data/borders_io.cpp
  ${CMAKE_SOURCE_DIR}/catboost/libs/data/cat_feature_perfect_hash.cpp
  ${CMAKE_SOURCE_DIR}/catboost/libs/data/cat_feature_perfect_hash_helper.cpp
  ${CMAKE_SOURCE_DIR}/catboost/libs/data/columns.cpp
  ${CMAKE_SOURCE_DIR}/catboost/libs/data/composite_columns.cpp
  ${CMAKE_SOURCE_DIR}/catboost/libs/data/ctrs.cpp
  ${CMAKE_SOURCE_DIR}/catboost/libs/data/data_provider.cpp
  ${CMAKE_SOURCE_DIR}/catboost/libs/data/data_provider_builders.cpp
  ${CMAKE_SOURCE_DIR}/catboost/libs/data/exclusive_feature_bundling.cpp
  ${CMAKE_SOURCE_DIR}/catboost/libs/data/external_columns.cpp
  ${CMAKE_SOURCE_DIR}/catboost/libs/data/feature_estimators.cpp
  ${CMAKE_SOURCE_DIR}/catboost/libs/data/feature_grouping.cpp
  ${CMAKE_SOURCE_DIR}/catboost/libs/data/feature_index.cpp
  ${CMAKE_SOURCE_DIR}/catboost/libs/data/features_layout.cpp
  ${CMAKE_SOURCE_DIR}/catboost/libs/data/features_layout_helpers.cpp
  ${CMAKE_SOURCE_DIR}/catboost/libs/data/feature_names_converter.cpp
  ${CMAKE_SOURCE_DIR}/catboost/libs/data/lazy_columns.cpp
  ${CMAKE_SOURCE_DIR}/catboost/libs/data/load_data.cpp
  ${CMAKE_SOURCE_DIR}/catboost/libs/data/load_and_quantize_data.cpp
  ${CMAKE_SOURCE_DIR}/catboost/libs/data/loader.cpp
  ${CMAKE_SOURCE_DIR}/catboost/libs/data/meta_info.cpp
  ${CMAKE_SOURCE_DIR}/catboost/libs/data/model_dataset_compatibility.cpp
  ${CMAKE_SOURCE_DIR}/catboost/libs/data/objects.cpp
  ${CMAKE_SOURCE_DIR}/catboost/libs/data/objects_grouping.cpp
  ${CMAKE_SOURCE_DIR}/catboost/libs/data/order.cpp
  ${CMAKE_SOURCE_DIR}/catboost/libs/data/packed_binary_features.cpp
  ${CMAKE_SOURCE_DIR}/catboost/libs/data/pairs.cpp
  ${CMAKE_SOURCE_DIR}/catboost/libs/data/proceed_pool_in_blocks.cpp
  ${CMAKE_SOURCE_DIR}/catboost/libs/data/quantization.cpp
  ${CMAKE_SOURCE_DIR}/catboost/libs/data/quantized_features_info.cpp
  ${CMAKE_SOURCE_DIR}/catboost/libs/data/sparse_columns.cpp
  ${CMAKE_SOURCE_DIR}/catboost/libs/data/target.cpp
  ${CMAKE_SOURCE_DIR}/catboost/libs/data/unaligned_mem.cpp
  ${CMAKE_SOURCE_DIR}/catboost/libs/data/util.cpp
  ${CMAKE_SOURCE_DIR}/catboost/libs/data/visitor.cpp
  ${CMAKE_SOURCE_DIR}/catboost/libs/data/weights.cpp
)
generate_enum_serilization(catboost-libs-data
  ${CMAKE_SOURCE_DIR}/catboost/libs/data/baseline.h
  INCLUDE_HEADERS
  catboost/libs/data/baseline.h
)
generate_enum_serilization(catboost-libs-data
  ${CMAKE_SOURCE_DIR}/catboost/libs/data/columns.h
  INCLUDE_HEADERS
  catboost/libs/data/columns.h
)
generate_enum_serilization(catboost-libs-data
  ${CMAKE_SOURCE_DIR}/catboost/libs/data/order.h
  INCLUDE_HEADERS
  catboost/libs/data/order.h
)
generate_enum_serilization(catboost-libs-data
  ${CMAKE_SOURCE_DIR}/catboost/libs/data/target.h
  INCLUDE_HEADERS
  catboost/libs/data/target.h
)
generate_enum_serilization(catboost-libs-data
  ${CMAKE_SOURCE_DIR}/catboost/libs/data/visitor.h
  INCLUDE_HEADERS
  catboost/libs/data/visitor.h
)

add_global_library_for(catboost-libs-data.global catboost-libs-data)
target_link_libraries(catboost-libs-data.global PUBLIC
  contrib-libs-cxxsupp
  yutil
  library-cpp-pop_count
  library-cpp-dbg_output
  library-cpp-json
  library-cpp-object_factory
  cpp-string_utils-csv
  cpp-threading-future
  cpp-threading-local_executor
  catboost-libs-cat_feature
  catboost-libs-column_description
  private-libs-ctr_description
  private-libs-data_types
  private-libs-data_util
  private-libs-feature_estimator
  catboost-libs-helpers
  private-libs-index_range
  private-libs-labels
  catboost-libs-logging
  catboost-libs-model
  private-libs-options
  private-libs-text_processing
  private-libs-quantization
  private-libs-quantization_schema
  tools-enum_parser-enum_serialization_runtime
)
target_sources(catboost-libs-data.global PRIVATE
  ${CMAKE_SOURCE_DIR}/catboost/libs/data/cb_dsv_loader.cpp
  ${CMAKE_SOURCE_DIR}/catboost/libs/data/libsvm_loader.cpp
  ${CMAKE_SOURCE_DIR}/catboost/libs/data/pairs_data_loaders.cpp
)
