-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmeson.build
56 lines (49 loc) · 1.18 KB
/
meson.build
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
project(
'angonoka',
'cpp',
version : '1.0.0',
default_options : ['warning_level=3', 'cpp_std=c++20']
)
compiler = meson.get_compiler('cpp')
args = compiler.get_supported_arguments([
'-Wconversion',
'-Wthread-safety',
'-fasynchronous-unwind-tables',
'-Wnon-virtual-dtor',
'-Wshadow',
'-Wcast-align',
'-Wunused'
])
add_project_arguments(args, language : 'cpp')
if not get_option('debug')
add_project_arguments(
[
'-Dgsl_CONFIG_CONTRACT_CHECKING_OFF',
'-Dgsl_CONFIG_UNENFORCED_CONTRACTS_ASSUME',
] + compiler.get_supported_arguments(['-ffast-math']),
language : 'cpp'
)
else
add_project_arguments(
['-Dgsl_CONFIG_CONTRACT_VIOLATION_THROWS'],
language : 'cpp'
)
endif
openmp = dependency('openmp', required : get_option('openmp'))
dependencies = [
dependency('fmt'),
dependency('yaml-cpp'),
dependency('CLI11'),
dependency('range-v3'),
dependency('gsl-lite'),
dependency('pcg-cpp'),
dependency('indicators'),
dependency('readerwriterqueue'),
dependency('nlohmann_json'),
dependency('boost', include_type : 'system'),
dependency('boost_iostreams'),
openmp
]
include = include_directories('src')
subdir('src')
subdir('test')