-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmeson.build
More file actions
81 lines (71 loc) · 2.7 KB
/
meson.build
File metadata and controls
81 lines (71 loc) · 2.7 KB
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
project(
'lczero-training',
'cpp',
version : '0.1',
meson_version : '>= 1.3.0',
default_options : [
'warning_level=3',
'cpp_std=c++20',
'force_fallback_for=abseil-cpp',
],
)
cpp_compiler = meson.get_compiler('cpp')
if cpp_compiler.get_id() == 'clang'
add_project_arguments('-Wno-nullability-extension', language : 'cpp')
endif
# Protobuf compilation setup
compile_proto = find_program('libs/lc0/scripts/compile_proto.py')
proto_gen = generator(compile_proto, output: ['@BASENAME@.pb.h'],
arguments : [
'--proto_path=@CURRENT_SOURCE_DIR@',
'--cpp_out=@BUILD_DIR@',
'@INPUT@'])
lc0_proto_gen = generator(compile_proto, output: ['@BASENAME@.pb.h'],
arguments : [
'--proto_path=' + join_paths(meson.current_source_dir(), 'libs/lc0'),
'--cpp_out=@BUILD_DIR@',
'@INPUT@'])
includes = include_directories('csrc', 'libs/lc0/src')
abseil = subproject('abseil-cpp')
absl_log_dep = abseil.get_variable('absl_log_dep').as_system()
absl_log_init_dep = abseil.get_variable('absl_log_dep').as_system()
absl_flags_dep = abseil.get_variable('absl_flags_dep').as_system()
absl_time_dep = abseil.get_variable('absl_time_dep').as_system()
absl_str_format_dep = abseil.get_variable('absl_strings_dep').as_system()
zlib_dep = dependency('zlib')
files = [
'csrc/reading/tar_reader.cc',
'csrc/reading/process_file.cc',
'csrc/utils/gz.cc',
'csrc/stats/stats.cc',
'csrc/stats/collectors/game_length.cc',
'csrc/stats/collectors/policy_entropy.cc',
'csrc/stats/collectors/legal_moves.cc',
'csrc/stats/collectors/move_stats.cc',
'csrc/stats/collectors/game_outcomes.cc',
'csrc/stats/collectors/nodes_per_move.cc',
'csrc/stats/collectors/percentile_metrics.cc',
]
trainingdata_stats_files = [
'csrc/trainingdata-stats_main.cc',
]
filter_training_data_files = [
'csrc/filter-training-data_main.cc',
'csrc/utils/training_data_printer.cc',
'libs/lc0/src/trainingdata/reader.cc',
'libs/lc0/src/neural/decoder.cc',
'libs/lc0/src/neural/encoder.cc',
'libs/lc0/src/chess/board.cc',
'libs/lc0/src/utils/logging.cc',
lc0_proto_gen.process('libs/lc0/proto/net.proto',
preserve_path_from : join_paths(meson.current_source_dir(), 'libs/lc0')),
]
executable('trainingdata-stats', trainingdata_stats_files + files,
include_directories: includes,
dependencies: [absl_log_dep, absl_log_init_dep, absl_flags_dep,
absl_time_dep, absl_str_format_dep, zlib_dep])
executable('filter-training-data', filter_training_data_files + files,
include_directories: includes,
dependencies: [absl_log_dep, absl_log_init_dep, absl_flags_dep,
absl_time_dep, absl_str_format_dep, zlib_dep],
cpp_args: ['-mbmi2'])