aboutsummaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
blob: d3849189fd542daf10fb14b30d98e0d66c2c259b (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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
# This file was gererated 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.


cmake_minimum_required(VERSION 3.15)
project(YDB LANGUAGES C CXX ASM)

set(BUILD_SHARED_LIBS Off)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_EXTENSIONS Off)
set(YDB_MAX_LINK_JOBS 5 CACHE STRING "Maximum parallel link jobs for Ninja generator")
set_property(GLOBAL PROPERTY JOB_POOLS link_jobs=${YDB_MAX_LINK_JOBS})
set(CMAKE_JOB_POOL_LINK link_jobs)
set(CMAKE_C_FLAGS "\
  -m64 \
  -fexceptions \
  -fno-common \
  -fuse-init-array \
  -fcolor-diagnostics \
  -faligned-allocation \
  -ffunction-sections \
  -fdata-sections \
  -Wall \
  -Wextra \
  -Wno-parentheses \
  -Wno-implicit-const-int-float-conversion \
  -Wno-unknown-warning-option \
  -D_THREAD_SAFE \
  -D_PTHREADS \
  -D_REENTRANT \
  -D_LARGEFILE_SOURCE \
  -D__STDC_CONSTANT_MACROS \
  -D__STDC_FORMAT_MACROS \
  -D_FILE_OFFSET_BITS=64 \
  -D_GNU_SOURCE \
  -D_YNDX_LIBUNWIND_ENABLE_EXCEPTION_BACKTRACE \
  -D__LONG_LONG_SUPPORTED \
  -DSSE_ENABLED=1 \
  -DSSE3_ENABLED=1 \
  -DSSSE3_ENABLED=1 \
  -DSSE41_ENABLED=1 \
  -DSSE42_ENABLED=1 \
  -DPOPCNT_ENABLED=1 \
  -DCX16_ENABLED=1 \
  -D_libunwind_ \
  -DLIBCXX_BUILDING_LIBCXXRT \
  -msse2 \
  -msse3 \
  -mssse3 \
  -msse4.1 \
  -msse4.2 \
  -mpopcnt \
  -mcx16 \
  "
)
set(CMAKE_CXX_FLAGS "\
  -m64 \
  -fexceptions \
  -fno-common \
  -fuse-init-array \
  -fcolor-diagnostics \
  -faligned-allocation \
  -ffunction-sections \
  -fdata-sections \
  -Wall \
  -Wextra \
  -Wno-parentheses \
  -Wno-implicit-const-int-float-conversion \
  -Wno-unknown-warning-option \
  -D_THREAD_SAFE \
  -D_PTHREADS \
  -D_REENTRANT \
  -D_LARGEFILE_SOURCE \
  -D__STDC_CONSTANT_MACROS \
  -D__STDC_FORMAT_MACROS \
  -D_FILE_OFFSET_BITS=64 \
  -D_GNU_SOURCE \
  -D_YNDX_LIBUNWIND_ENABLE_EXCEPTION_BACKTRACE \
  -D__LONG_LONG_SUPPORTED \
  -DSSE_ENABLED=1 \
  -DSSE3_ENABLED=1 \
  -DSSSE3_ENABLED=1 \
  -DSSE41_ENABLED=1 \
  -DSSE42_ENABLED=1 \
  -DPOPCNT_ENABLED=1 \
  -DCX16_ENABLED=1 \
  -D_libunwind_ \
  -DLIBCXX_BUILDING_LIBCXXRT \
  -msse2 \
  -msse3 \
  -mssse3 \
  -msse4.1 \
  -msse4.2 \
  -mpopcnt \
  -mcx16 \
  -Woverloaded-virtual \
  -Wimport-preprocessor-directive-pedantic \
  -Wno-undefined-var-template \
  -Wno-return-std-move \
  -Wno-address-of-packed-member \
  -Wno-defaulted-function-deleted \
  -Wno-pessimizing-move \
  -Wno-range-loop-construct \
  -Wno-deprecated-anon-enum-enum-conversion \
  -Wno-deprecated-enum-enum-conversion \
  -Wno-deprecated-enum-float-conversion \
  -Wno-ambiguous-reversed-operator \
  -Wno-deprecated-volatile \
  "
)

list(APPEND CMAKE_MODULE_PATH ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR}/cmake)
include_directories(${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR})
list(APPEND CMAKE_CTEST_ARGUMENTS "--output-on-failure")
enable_testing()
if (UNIX)
  include(CMakeLists.linux.txt)
elseif (APPLE)
  include(CMakeLists.darwin.txt)
endif()