# 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(contrib-libs-libunwind)


target_compile_options(contrib-libs-libunwind PRIVATE
  -D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
  -D_LIBUNWIND_IS_NATIVE_ONLY
  -fno-exceptions
  -fno-rtti
  -funwind-tables
)

target_include_directories(contrib-libs-libunwind PRIVATE
  ${PROJECT_SOURCE_DIR}/contrib/libs/libunwind/include
)

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

target_sources(contrib-libs-libunwind PRIVATE
  ${PROJECT_SOURCE_DIR}/contrib/libs/libunwind/src/Unwind-EHABI.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/libunwind/src/Unwind-seh.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/libunwind/src/Unwind-sjlj.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/libunwind/src/Unwind-wasm.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/libunwind/src/UnwindLevel1-gcc-ext.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/libunwind/src/UnwindLevel1.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/libunwind/src/UnwindRegistersRestore.S
  ${PROJECT_SOURCE_DIR}/contrib/libs/libunwind/src/UnwindRegistersSave.S
  ${PROJECT_SOURCE_DIR}/contrib/libs/libunwind/src/libunwind.cpp
)


set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/libunwind/src/Unwind-sjlj.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/libunwind/src/Unwind-wasm.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/libunwind/src/UnwindLevel1-gcc-ext.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/libunwind/src/UnwindLevel1.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)
