# 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-tbb)


target_compile_options(contrib-libs-tbb PRIVATE
  -D__TBB_BUILD
  -D__TBB_GNU_ASM_VERSION=2041
  -D__TBB_SKIP_DEPENDENCY_SIGNATURE_VERIFICATION=1
  -D__TBB_DYNAMIC_LOAD_ENABLED=0
  -mrtm
  -mwaitpkg
  -DUSE_WINTHREAD
  -D__TBB_USE_ITT_NOTIFY
  -DDO_ITT_NOTIFY
  $<IF:$<CXX_COMPILER_ID:MSVC>,,-Wno-everything>
)

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

target_link_libraries(contrib-libs-tbb PUBLIC
  contrib-libs-cxxsupp
)

target_sources(contrib-libs-tbb PRIVATE
  ${PROJECT_SOURCE_DIR}/contrib/libs/tbb/src/tbb/address_waiter.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/tbb/src/tbb/allocator.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/tbb/src/tbb/arena.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/tbb/src/tbb/arena_slot.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/tbb/src/tbb/concurrent_bounded_queue.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/tbb/src/tbb/dynamic_link.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/tbb/src/tbb/exception.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/tbb/src/tbb/global_control.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/tbb/src/tbb/governor.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/tbb/src/tbb/main.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/tbb/src/tbb/market.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/tbb/src/tbb/misc.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/tbb/src/tbb/misc_ex.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/tbb/src/tbb/observer_proxy.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/tbb/src/tbb/parallel_pipeline.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/tbb/src/tbb/private_server.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/tbb/src/tbb/profiling.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/tbb/src/tbb/queuing_rw_mutex.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/tbb/src/tbb/rml_tbb.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/tbb/src/tbb/rtm_mutex.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/tbb/src/tbb/rtm_rw_mutex.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/tbb/src/tbb/semaphore.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/tbb/src/tbb/small_object_pool.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/tbb/src/tbb/task.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/tbb/src/tbb/task_dispatcher.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/tbb/src/tbb/task_group_context.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/tbb/src/tbb/tcm_adaptor.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/tbb/src/tbb/thread_dispatcher.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/tbb/src/tbb/thread_request_serializer.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/tbb/src/tbb/threading_control.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/tbb/src/tbb/version.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/tbb/src/tbb/itt_notify.cpp
)

