aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/tcmalloc/CMakeLists.linux.txt
blob: 53fb70fafae643ef0bd234cff0bb83ef682299ea (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# This file was generated by the build system used internally in the Yandex monorepo.
# Only simple modifications are allowed (adding source-files to targets, 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 ported back to the
# original buildsystem will not be accepted.


add_subdirectory(malloc_extension)
add_subdirectory(no_percpu_cache)

add_library(contrib-libs-tcmalloc)
target_compile_options(contrib-libs-tcmalloc PRIVATE
  -DTCMALLOC_256K_PAGES
  $<IF:$<CXX_COMPILER_ID:MSVC>,,-Wno-everything>
)
target_link_libraries(contrib-libs-tcmalloc PUBLIC
  contrib-libs-linux-headers
  contrib-libs-cxxsupp
  contrib-restricted-abseil-cpp
  libs-tcmalloc-malloc_extension
)
target_sources(contrib-libs-tcmalloc PRIVATE
  ${CMAKE_SOURCE_DIR}/contrib/libs/tcmalloc/tcmalloc/want_hpaa.cc
)

add_global_library_for(contrib-libs-tcmalloc.global contrib-libs-tcmalloc)
target_compile_options(contrib-libs-tcmalloc.global PRIVATE
  -DTCMALLOC_256K_PAGES
  $<IF:$<CXX_COMPILER_ID:MSVC>,,-Wno-everything>
)
target_link_libraries(contrib-libs-tcmalloc.global PUBLIC
  contrib-libs-linux-headers
  contrib-libs-cxxsupp
  contrib-restricted-abseil-cpp
  libs-tcmalloc-malloc_extension
)
target_sources(contrib-libs-tcmalloc.global PRIVATE
  ${CMAKE_SOURCE_DIR}/contrib/libs/tcmalloc/tcmalloc/tcmalloc.cc
  ${CMAKE_SOURCE_DIR}/contrib/libs/tcmalloc/tcmalloc/arena.cc
  ${CMAKE_SOURCE_DIR}/contrib/libs/tcmalloc/tcmalloc/background.cc
  ${CMAKE_SOURCE_DIR}/contrib/libs/tcmalloc/tcmalloc/central_freelist.cc
  ${CMAKE_SOURCE_DIR}/contrib/libs/tcmalloc/tcmalloc/common.cc
  ${CMAKE_SOURCE_DIR}/contrib/libs/tcmalloc/tcmalloc/cpu_cache.cc
  ${CMAKE_SOURCE_DIR}/contrib/libs/tcmalloc/tcmalloc/experimental_pow2_below64_size_class.cc
  ${CMAKE_SOURCE_DIR}/contrib/libs/tcmalloc/tcmalloc/experimental_pow2_size_class.cc
  ${CMAKE_SOURCE_DIR}/contrib/libs/tcmalloc/tcmalloc/legacy_size_classes.cc
  ${CMAKE_SOURCE_DIR}/contrib/libs/tcmalloc/tcmalloc/guarded_page_allocator.cc
  ${CMAKE_SOURCE_DIR}/contrib/libs/tcmalloc/tcmalloc/huge_address_map.cc
  ${CMAKE_SOURCE_DIR}/contrib/libs/tcmalloc/tcmalloc/huge_allocator.cc
  ${CMAKE_SOURCE_DIR}/contrib/libs/tcmalloc/tcmalloc/huge_cache.cc
  ${CMAKE_SOURCE_DIR}/contrib/libs/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
  ${CMAKE_SOURCE_DIR}/contrib/libs/tcmalloc/tcmalloc/page_allocator.cc
  ${CMAKE_SOURCE_DIR}/contrib/libs/tcmalloc/tcmalloc/page_allocator_interface.cc
  ${CMAKE_SOURCE_DIR}/contrib/libs/tcmalloc/tcmalloc/page_heap.cc
  ${CMAKE_SOURCE_DIR}/contrib/libs/tcmalloc/tcmalloc/pagemap.cc
  ${CMAKE_SOURCE_DIR}/contrib/libs/tcmalloc/tcmalloc/parameters.cc
  ${CMAKE_SOURCE_DIR}/contrib/libs/tcmalloc/tcmalloc/peak_heap_tracker.cc
  ${CMAKE_SOURCE_DIR}/contrib/libs/tcmalloc/tcmalloc/sampler.cc
  ${CMAKE_SOURCE_DIR}/contrib/libs/tcmalloc/tcmalloc/size_classes.cc
  ${CMAKE_SOURCE_DIR}/contrib/libs/tcmalloc/tcmalloc/span.cc
  ${CMAKE_SOURCE_DIR}/contrib/libs/tcmalloc/tcmalloc/stack_trace_table.cc
  ${CMAKE_SOURCE_DIR}/contrib/libs/tcmalloc/tcmalloc/static_vars.cc
  ${CMAKE_SOURCE_DIR}/contrib/libs/tcmalloc/tcmalloc/stats.cc
  ${CMAKE_SOURCE_DIR}/contrib/libs/tcmalloc/tcmalloc/system-alloc.cc
  ${CMAKE_SOURCE_DIR}/contrib/libs/tcmalloc/tcmalloc/thread_cache.cc
  ${CMAKE_SOURCE_DIR}/contrib/libs/tcmalloc/tcmalloc/transfer_cache.cc
  ${CMAKE_SOURCE_DIR}/contrib/libs/tcmalloc/tcmalloc/experiment.cc
  ${CMAKE_SOURCE_DIR}/contrib/libs/tcmalloc/tcmalloc/noruntime_size_classes.cc
  ${CMAKE_SOURCE_DIR}/contrib/libs/tcmalloc/tcmalloc/internal/cache_topology.cc
  ${CMAKE_SOURCE_DIR}/contrib/libs/tcmalloc/tcmalloc/internal/environment.cc
  ${CMAKE_SOURCE_DIR}/contrib/libs/tcmalloc/tcmalloc/internal/logging.cc
  ${CMAKE_SOURCE_DIR}/contrib/libs/tcmalloc/tcmalloc/internal/memory_stats.cc
  ${CMAKE_SOURCE_DIR}/contrib/libs/tcmalloc/tcmalloc/internal/mincore.cc
  ${CMAKE_SOURCE_DIR}/contrib/libs/tcmalloc/tcmalloc/internal/numa.cc
  ${CMAKE_SOURCE_DIR}/contrib/libs/tcmalloc/tcmalloc/internal/percpu.cc
  ${CMAKE_SOURCE_DIR}/contrib/libs/tcmalloc/tcmalloc/internal/percpu_rseq_asm.S
  ${CMAKE_SOURCE_DIR}/contrib/libs/tcmalloc/tcmalloc/internal/percpu_rseq_unsupported.cc
  ${CMAKE_SOURCE_DIR}/contrib/libs/tcmalloc/tcmalloc/internal/util.cc
)