# 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_library(libs-cxxsupp-libcxxabi)


target_compile_options(libs-cxxsupp-libcxxabi PRIVATE
  -D_LIBCPP_BUILDING_LIBRARY
  -D_LIBCXXABI_BUILDING_LIBRARY
  $<IF:$<CXX_COMPILER_ID:MSVC>,,-Wno-everything>
)

target_include_directories(libs-cxxsupp-libcxxabi PRIVATE
  ${PROJECT_SOURCE_DIR}/contrib/libs/cxxsupp/libcxxabi/include
  ${PROJECT_SOURCE_DIR}/contrib/libs/cxxsupp/libcxx/include
  ${PROJECT_SOURCE_DIR}/contrib/libs/cxxsupp/libcxx/src
)

target_link_libraries(libs-cxxsupp-libcxxabi PUBLIC
  contrib-libs-libunwind
  cpp-sanitizer-include
)

target_sources(libs-cxxsupp-libcxxabi PRIVATE
  ${PROJECT_SOURCE_DIR}/contrib/libs/cxxsupp/libcxxabi/src/abort_message.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/cxxsupp/libcxxabi/src/cxa_aux_runtime.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/cxxsupp/libcxxabi/src/cxa_default_handlers.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/cxxsupp/libcxxabi/src/cxa_demangle.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/cxxsupp/libcxxabi/src/cxa_exception_storage.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/cxxsupp/libcxxabi/src/cxa_guard.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/cxxsupp/libcxxabi/src/cxa_handlers.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/cxxsupp/libcxxabi/src/cxa_thread_atexit.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/cxxsupp/libcxxabi/src/cxa_vector.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/cxxsupp/libcxxabi/src/cxa_virtual.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/cxxsupp/libcxxabi/src/fallback_malloc.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/cxxsupp/libcxxabi/src/private_typeinfo.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/cxxsupp/libcxxabi/src/stdlib_exception.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/cxxsupp/libcxxabi/src/stdlib_new_delete.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/cxxsupp/libcxxabi/src/stdlib_stdexcept.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/cxxsupp/libcxxabi/src/stdlib_typeinfo.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/cxxsupp/libcxxabi/src/cxa_exception.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/cxxsupp/libcxxabi/src/cxa_personality.cpp
)

