# 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.

add_subdirectory(ut)

add_library(catboost-cuda-train_lib INTERFACE)


target_link_libraries(catboost-cuda-train_lib INTERFACE
  contrib-libs-linux-headers
  contrib-libs-cxxsupp
  yutil
  catboost-cuda-cpu_compatibility_helpers
  catboost-cuda-ctrs
  catboost-cuda-cuda_lib
  catboost-cuda-cuda_util
  catboost-cuda-data
  catboost-cuda-gpu_data
  catboost-cuda-methods
  models
  catboost-cuda-targets
  private-libs-algo
  private-libs-algo_helpers
  catboost-libs-data
  catboost-libs-eval_result
  catboost-libs-fstr
  catboost-libs-helpers
  catboost-libs-loggers
  catboost-libs-model
  private-libs-options
  catboost-libs-overfitting_detector
  private-libs-quantization
  catboost-libs-train_lib
  library-cpp-json
  library-cpp-object_factory
  cpp-threading-local_executor
)


add_global_library_for(catboost-cuda-train_lib.global
  catboost-cuda-train_lib)


target_link_libraries(catboost-cuda-train_lib.global PUBLIC
  contrib-libs-linux-headers
  contrib-libs-cxxsupp
  yutil
  catboost-cuda-cpu_compatibility_helpers
  catboost-cuda-ctrs
  catboost-cuda-cuda_lib
  catboost-cuda-cuda_util
  catboost-cuda-data
  catboost-cuda-gpu_data
  catboost-cuda-methods
  models
  catboost-cuda-targets
  private-libs-algo
  private-libs-algo_helpers
  catboost-libs-data
  catboost-libs-eval_result
  catboost-libs-fstr
  catboost-libs-helpers
  catboost-libs-loggers
  catboost-libs-model
  private-libs-options
  catboost-libs-overfitting_detector
  private-libs-quantization
  catboost-libs-train_lib
  library-cpp-json
  library-cpp-object_factory
  cpp-threading-local_executor
)

target_sources(catboost-cuda-train_lib.global PRIVATE
  ${PROJECT_SOURCE_DIR}/catboost/cuda/train_lib/cuda_trainer_env.cpp
  ${PROJECT_SOURCE_DIR}/catboost/cuda/train_lib/train.cpp
  ${PROJECT_SOURCE_DIR}/catboost/cuda/train_lib/query_cross_entropy.cpp
  ${PROJECT_SOURCE_DIR}/catboost/cuda/train_lib/pointwise.cpp
  ${PROJECT_SOURCE_DIR}/catboost/cuda/train_lib/pointwise_region.cpp
  ${PROJECT_SOURCE_DIR}/catboost/cuda/train_lib/querywise.cpp
  ${PROJECT_SOURCE_DIR}/catboost/cuda/train_lib/pfound_f.cpp
  ${PROJECT_SOURCE_DIR}/catboost/cuda/train_lib/pair_logit_pairwise.cpp
  ${PROJECT_SOURCE_DIR}/catboost/cuda/train_lib/multiclass.cpp
  ${PROJECT_SOURCE_DIR}/catboost/cuda/train_lib/multiclass_region.cpp
  ${PROJECT_SOURCE_DIR}/catboost/cuda/train_lib/querywise_region.cpp
  ${PROJECT_SOURCE_DIR}/catboost/cuda/train_lib/pointwise_non_symmetric.cpp
  ${PROJECT_SOURCE_DIR}/catboost/cuda/train_lib/querywise_non_symmetric.cpp
  ${PROJECT_SOURCE_DIR}/catboost/cuda/train_lib/multiclass_non_symmetric.cpp
  ${PROJECT_SOURCE_DIR}/catboost/cuda/train_lib/combination.cpp
)

