# This file was generated by the YaTool build system (https://github.com/yandex/yatool),
# from a source YaTool build configuration provided in ya.make files.
#
# If the repository supports both CMake and ya build configurations, please modify both of them.
#
# If only CMake build configuration is supported then modify only CMake files and note that only
# simple modifications are allowed like adding source-files to targets or 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 easily ported back to the ya build
# system may be rejected.
#
# Please refer to the build instructions in the repository for more information about manual
# changes in this file.
if((NOT DEFINED CATBOOST_COMPONENTS) OR (APP IN_LIST CATBOOST_COMPONENTS) OR (app IN_LIST CATBOOST_COMPONENTS))

get_built_tool_path(
  TOOL_enum_parser_bin
  TOOL_enum_parser_dependency
  tools/enum_parser/enum_parser
  enum_parser
)

add_executable(catboost)


target_link_libraries(catboost PUBLIC
  contrib-libs-cxxsupp
  yutil
  build-cow-on
  library-cpp-cpuid_check
  catboost-libs-data
  catboost-libs-dataset_statistics
  catboost-libs-features_selection
  catboost-libs-helpers
  catboost-libs-logging
  catboost-libs-metrics
  catboost-libs-model
  libs-model-model_export
  catboost-libs-train_lib
  private-libs-algo
  private-libs-app_helpers
  private-libs-data_util
  private-libs-distributed
  private-libs-documents_importance
  private-libs-init
  private-libs-labels
  private-libs-options
  private-libs-target
  cpp-getopt-small
  library-cpp-json
  library-cpp-svnversion
  cpp-threading-local_executor
  tools-enum_parser-enum_serialization_runtime
)

target_allocator(catboost
  cpp-malloc-mimalloc
)

target_link_options(catboost PRIVATE
  -Wl,-platform_version,macos,11.0,11.0
  -fPIC
  -fPIC
  -framework
  CoreFoundation
)

target_sources(catboost PRIVATE
  ${PROJECT_SOURCE_DIR}/catboost/app/main.cpp
  ${PROJECT_SOURCE_DIR}/catboost/app/mode_calc.cpp
  ${PROJECT_SOURCE_DIR}/catboost/app/mode_dataset_statistics.cpp
  ${PROJECT_SOURCE_DIR}/catboost/app/mode_eval_metrics.cpp
  ${PROJECT_SOURCE_DIR}/catboost/app/mode_eval_feature.cpp
  ${PROJECT_SOURCE_DIR}/catboost/app/mode_fit.cpp
  ${PROJECT_SOURCE_DIR}/catboost/app/mode_fstr.cpp
  ${PROJECT_SOURCE_DIR}/catboost/app/mode_metadata.cpp
  ${PROJECT_SOURCE_DIR}/catboost/app/mode_model_based_eval.cpp
  ${PROJECT_SOURCE_DIR}/catboost/app/mode_model_sum.cpp
  ${PROJECT_SOURCE_DIR}/catboost/app/mode_normalize_model.cpp
  ${PROJECT_SOURCE_DIR}/catboost/app/mode_ostr.cpp
  ${PROJECT_SOURCE_DIR}/catboost/app/mode_roc.cpp
  ${PROJECT_SOURCE_DIR}/catboost/app/mode_run_worker.cpp
  ${PROJECT_SOURCE_DIR}/catboost/app/mode_select_features.cpp
  ${PROJECT_SOURCE_DIR}/catboost/app/mode_dump_options.cpp
  ${PROJECT_SOURCE_DIR}/catboost/app/signal_handling.cpp
)


generate_enum_serilization(catboost
  ${PROJECT_SOURCE_DIR}/catboost/app/model_metainfo_helpers.h
  INCLUDE_HEADERS
  catboost/app/model_metainfo_helpers.h
)

vcs_info(catboost)

endif()
