forked from getml/reflect-cpp
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmeson.build
More file actions
79 lines (66 loc) · 2.29 KB
/
meson.build
File metadata and controls
79 lines (66 loc) · 2.29 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
project('reflect-cpp', ['c', 'cpp'],
version : '0.24.0',
default_options : [
'cpp_std=c++20',
'c_std=c11',
'warning_level=0',
'werror=false',
]
)
inc = include_directories('include', is_system : true)
inc_3rdparty = include_directories('include/rfl/thirdparty', is_system : true)
sources = files('src/reflectcpp.cpp')
deps = []
# JSON — enabled by default, uses bundled yyjson
if get_option('json').enabled()
sources += files('src/reflectcpp_json.cpp', 'src/yyjson.c')
endif
# CBOR and UBJSON share the jsoncons dependency
if get_option('cbor').enabled() or get_option('ubjson').enabled()
jsoncons_dep = dependency('jsoncons', required : true)
deps += jsoncons_dep
if get_option('cbor').enabled()
sources += files('src/reflectcpp_cbor.cpp')
endif
if get_option('ubjson').enabled()
sources += files('src/reflectcpp_ubjson.cpp')
endif
endif
if get_option('msgpack').enabled()
deps += dependency('msgpack', required : true)
sources += files('src/reflectcpp_msgpack.cpp')
endif
if get_option('toml').enabled()
deps += dependency('tomlplusplus', required : true)
sources += files('src/reflectcpp_toml.cpp')
endif
if get_option('xml').enabled()
deps += dependency('pugixml', required : true)
sources += files('src/reflectcpp_xml.cpp')
endif
if get_option('yaml').enabled()
deps += dependency('yaml-cpp', required : true)
sources += files('src/reflectcpp_yaml.cpp')
endif
if get_option('cereal').enabled()
deps += dependency('cereal', required : true)
sources += files('src/reflectcpp_cereal.cpp')
endif
if get_option('flexbuffers').enabled()
deps += dependency('flatbuffers', required : true)
sources += files('src/reflectcpp_flexbuf.cpp')
endif
if get_option('boost_serialization').enabled()
deps += dependency('boost', modules : ['serialization'], required : true)
sources += files('src/reflectcpp_boost_serialization.cpp')
endif
reflectcpp_lib = static_library('reflectcpp',
sources,
include_directories : [inc, inc_3rdparty],
dependencies : deps,
)
reflect_dep = declare_dependency(
include_directories : inc,
link_with : reflectcpp_lib,
dependencies : deps,
)