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


target_compile_options(contrib-libs-mimalloc PRIVATE
  -DMI_MALLOC_OVERRIDE
  -DMI_SHARED_LIB
  -DMI_SHARED_LIB_EXPORT
  -DMI_STATIC_LIB
  $<IF:$<CXX_COMPILER_ID:MSVC>,,-Wno-everything>
)

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

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

target_sources(contrib-libs-mimalloc PRIVATE
  ${PROJECT_SOURCE_DIR}/contrib/libs/mimalloc/src/alloc-aligned.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/mimalloc/src/alloc-posix.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/mimalloc/src/alloc.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/mimalloc/src/arena.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/mimalloc/src/bitmap.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/mimalloc/src/heap.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/mimalloc/src/init.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/mimalloc/src/libc.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/mimalloc/src/options.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/mimalloc/src/os.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/mimalloc/src/page.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/mimalloc/src/prim/prim.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/mimalloc/src/random.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/mimalloc/src/segment-map.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/mimalloc/src/segment.c
  ${PROJECT_SOURCE_DIR}/contrib/libs/mimalloc/src/stats.c
)


set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/mimalloc/src/alloc-aligned.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/mimalloc/src/alloc-posix.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

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

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

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

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

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

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

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

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

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

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

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

set_property(
  SOURCE
  ${PROJECT_SOURCE_DIR}/contrib/libs/mimalloc/src/segment-map.c
  APPEND
  PROPERTY
  COMPILE_OPTIONS
)

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

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