# 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(proto)

add_library(contrib-libs-onnx)


target_compile_options(contrib-libs-onnx PUBLIC
  -DONNX_ML=1
  -DONNX_NAMESPACE=onnx
)

target_compile_options(contrib-libs-onnx PRIVATE
  $<IF:$<CXX_COMPILER_ID:MSVC>,,-Wno-everything>
)

target_include_directories(contrib-libs-onnx PUBLIC
  ${PROJECT_SOURCE_DIR}/contrib/libs/onnx
)

target_link_libraries(contrib-libs-onnx PUBLIC
  contrib-libs-linux-headers
  contrib-libs-cxxsupp
  yutil
  libs-onnx-proto
  contrib-libs-protobuf
)

target_sources(contrib-libs-onnx PRIVATE
  ${PROJECT_SOURCE_DIR}/contrib/libs/onnx/onnx/checker.cc
  ${PROJECT_SOURCE_DIR}/contrib/libs/onnx/onnx/common/assertions.cc
  ${PROJECT_SOURCE_DIR}/contrib/libs/onnx/onnx/common/interned_strings.cc
  ${PROJECT_SOURCE_DIR}/contrib/libs/onnx/onnx/common/ir_pb_converter.cc
  ${PROJECT_SOURCE_DIR}/contrib/libs/onnx/onnx/common/model_helpers.cc
  ${PROJECT_SOURCE_DIR}/contrib/libs/onnx/onnx/common/path.cc
  ${PROJECT_SOURCE_DIR}/contrib/libs/onnx/onnx/common/status.cc
  ${PROJECT_SOURCE_DIR}/contrib/libs/onnx/onnx/defs/attr_proto_util.cc
  ${PROJECT_SOURCE_DIR}/contrib/libs/onnx/onnx/defs/controlflow/defs.cc
  ${PROJECT_SOURCE_DIR}/contrib/libs/onnx/onnx/defs/controlflow/old.cc
  ${PROJECT_SOURCE_DIR}/contrib/libs/onnx/onnx/defs/controlflow/utils.cc
  ${PROJECT_SOURCE_DIR}/contrib/libs/onnx/onnx/defs/data_type_utils.cc
  ${PROJECT_SOURCE_DIR}/contrib/libs/onnx/onnx/defs/function.cc
  ${PROJECT_SOURCE_DIR}/contrib/libs/onnx/onnx/defs/generator/defs.cc
  ${PROJECT_SOURCE_DIR}/contrib/libs/onnx/onnx/defs/generator/old.cc
  ${PROJECT_SOURCE_DIR}/contrib/libs/onnx/onnx/defs/generator/utils.cc
  ${PROJECT_SOURCE_DIR}/contrib/libs/onnx/onnx/defs/image/defs.cc
  ${PROJECT_SOURCE_DIR}/contrib/libs/onnx/onnx/defs/logical/defs.cc
  ${PROJECT_SOURCE_DIR}/contrib/libs/onnx/onnx/defs/logical/old.cc
  ${PROJECT_SOURCE_DIR}/contrib/libs/onnx/onnx/defs/math/defs.cc
  ${PROJECT_SOURCE_DIR}/contrib/libs/onnx/onnx/defs/math/old.cc
  ${PROJECT_SOURCE_DIR}/contrib/libs/onnx/onnx/defs/math/utils.cc
  ${PROJECT_SOURCE_DIR}/contrib/libs/onnx/onnx/defs/nn/defs.cc
  ${PROJECT_SOURCE_DIR}/contrib/libs/onnx/onnx/defs/nn/old.cc
  ${PROJECT_SOURCE_DIR}/contrib/libs/onnx/onnx/defs/object_detection/defs.cc
  ${PROJECT_SOURCE_DIR}/contrib/libs/onnx/onnx/defs/object_detection/old.cc
  ${PROJECT_SOURCE_DIR}/contrib/libs/onnx/onnx/defs/optional/defs.cc
  ${PROJECT_SOURCE_DIR}/contrib/libs/onnx/onnx/defs/optional/old.cc
  ${PROJECT_SOURCE_DIR}/contrib/libs/onnx/onnx/defs/parser.cc
  ${PROJECT_SOURCE_DIR}/contrib/libs/onnx/onnx/defs/printer.cc
  ${PROJECT_SOURCE_DIR}/contrib/libs/onnx/onnx/defs/quantization/defs.cc
  ${PROJECT_SOURCE_DIR}/contrib/libs/onnx/onnx/defs/quantization/old.cc
  ${PROJECT_SOURCE_DIR}/contrib/libs/onnx/onnx/defs/reduction/defs.cc
  ${PROJECT_SOURCE_DIR}/contrib/libs/onnx/onnx/defs/reduction/old.cc
  ${PROJECT_SOURCE_DIR}/contrib/libs/onnx/onnx/defs/reduction/utils.cc
  ${PROJECT_SOURCE_DIR}/contrib/libs/onnx/onnx/defs/rnn/defs.cc
  ${PROJECT_SOURCE_DIR}/contrib/libs/onnx/onnx/defs/rnn/old.cc
  ${PROJECT_SOURCE_DIR}/contrib/libs/onnx/onnx/defs/schema.cc
  ${PROJECT_SOURCE_DIR}/contrib/libs/onnx/onnx/defs/sequence/defs.cc
  ${PROJECT_SOURCE_DIR}/contrib/libs/onnx/onnx/defs/shape_inference.cc
  ${PROJECT_SOURCE_DIR}/contrib/libs/onnx/onnx/defs/tensor/defs.cc
  ${PROJECT_SOURCE_DIR}/contrib/libs/onnx/onnx/defs/tensor/old.cc
  ${PROJECT_SOURCE_DIR}/contrib/libs/onnx/onnx/defs/tensor/utils.cc
  ${PROJECT_SOURCE_DIR}/contrib/libs/onnx/onnx/defs/tensor_proto_util.cc
  ${PROJECT_SOURCE_DIR}/contrib/libs/onnx/onnx/defs/tensor_util.cc
  ${PROJECT_SOURCE_DIR}/contrib/libs/onnx/onnx/defs/text/defs.cc
  ${PROJECT_SOURCE_DIR}/contrib/libs/onnx/onnx/defs/traditionalml/defs.cc
  ${PROJECT_SOURCE_DIR}/contrib/libs/onnx/onnx/defs/traditionalml/old.cc
  ${PROJECT_SOURCE_DIR}/contrib/libs/onnx/onnx/defs/training/defs.cc
  ${PROJECT_SOURCE_DIR}/contrib/libs/onnx/onnx/inliner/inliner.cc
  ${PROJECT_SOURCE_DIR}/contrib/libs/onnx/onnx/shape_inference/implementation.cc
  ${PROJECT_SOURCE_DIR}/contrib/libs/onnx/onnx/version_converter/convert.cc
  ${PROJECT_SOURCE_DIR}/contrib/libs/onnx/onnx/version_converter/helper.cc
)

