forked from davidgiven/fluxengine
-
Notifications
You must be signed in to change notification settings - Fork 0
/
meson.build
233 lines (210 loc) · 9.34 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
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
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
project('fluxclient', 'cpp')
add_global_arguments('--std=c++14', language: 'cpp')
libusb = dependency('libusb-1.0')
sqlite = dependency('sqlite3')
zlib = dependency('zlib')
fmtlib = declare_dependency(
link_with:
shared_library('fmtlib',
[
'dep/fmt/format.cc',
'dep/fmt/posix.cc'
]
),
include_directories:
include_directories('dep/fmt')
)
felib = declare_dependency(
link_with:
shared_library('felib',
[
'lib/crc.cc',
'lib/dataspec.cc',
'lib/hexdump.cc',
'lib/sectorset.cc',
'lib/flags.cc',
'lib/fluxmap.cc',
'lib/globals.cc',
'lib/image.cc',
'lib/sector.cc',
'lib/usb.cc',
'lib/bytes.cc',
],
dependencies: [fmtlib, libusb, zlib]
),
include_directories:
include_directories('lib')
)
sqllib = declare_dependency(
link_with:
shared_library('sqllib',
['lib/sql.cc'],
dependencies: [fmtlib, felib, sqlite, zlib]
)
)
fluxreaderlib = declare_dependency(
link_with:
shared_library('fluxreaderlib',
[
'lib/fluxreader/fluxreader.cc',
'lib/fluxreader/sqlitefluxreader.cc',
'lib/fluxreader/hardwarefluxreader.cc',
'lib/fluxreader/streamfluxreader.cc',
'lib/fluxreader/kryoflux.cc',
],
dependencies: [fmtlib, felib, sqllib, sqlite]
),
include_directories:
include_directories('lib/fluxreader')
)
decoderlib = declare_dependency(
link_with:
shared_library('decoderlib',
[
'lib/decoders/decoders.cc',
'lib/decoders/fmmfm.cc',
],
dependencies: [fmtlib, felib]
),
include_directories:
include_directories('lib/decoders')
)
readerlib = declare_dependency(
link_with:
shared_library('readerlib',
['lib/reader.cc'],
dependencies: [fmtlib, felib, sqllib, decoderlib, fluxreaderlib, sqlite])
)
writerlib = declare_dependency(
link_with:
shared_library('writerlib',
['lib/writer.cc'],
dependencies: [fmtlib, felib, sqllib, sqlite]
)
)
encoderlib = declare_dependency(
link_with:
shared_library('encoderlib',
['lib/encoder.cc'],
dependencies: [fmtlib, felib]
)
)
aeslanierdecoderlib = declare_dependency(
link_with:
shared_library('aeslanierdecoderlib',
[ 'lib/aeslanier/decoder.cc', ],
dependencies: [fmtlib, felib, decoderlib]),
include_directories:
include_directories('lib/aeslanier')
)
amigadecoderlib = declare_dependency(
link_with:
shared_library('amigadecoderlib',
[ 'lib/amiga/decoder.cc', ],
dependencies: [fmtlib, felib, decoderlib]),
include_directories:
include_directories('lib/amiga')
)
apple2decoderlib = declare_dependency(
link_with:
shared_library('apple2decoderlib',
[ 'lib/apple2/decoder.cc', ],
dependencies: [fmtlib, felib, decoderlib]),
include_directories:
include_directories('lib/apple2')
)
brotherdecoderlib = declare_dependency(
link_with:
shared_library('brotherdecoderlib',
[ 'lib/brother/decoder.cc', ],
dependencies: [fmtlib, felib, decoderlib, sqlite]),
include_directories:
include_directories('lib/brother')
)
brotherencoderlib = declare_dependency(
link_with:
shared_library('brotherencoderlib',
[ 'lib/brother/encoder.cc', ],
dependencies: [fmtlib, felib, decoderlib, encoderlib]),
include_directories:
include_directories('lib/brother')
)
c64decoderlib = declare_dependency(
link_with:
shared_library('c64decoderlib',
[ 'lib/c64/decoder.cc', ],
dependencies: [fmtlib, felib, decoderlib]),
include_directories:
include_directories('lib/c64')
)
f85decoderlib = declare_dependency(
link_with:
shared_library('f85decoderlib',
[ 'lib/f85/decoder.cc', ],
dependencies: [fmtlib, felib, decoderlib]),
include_directories:
include_directories('lib/f85')
)
ibmdecoderlib = declare_dependency(
link_with:
shared_library('ibmdecoderlib',
[ 'lib/ibm/decoder.cc', ],
dependencies: [fmtlib, felib, decoderlib]),
include_directories:
include_directories('lib/ibm')
)
macdecoderlib = declare_dependency(
link_with:
shared_library('macdecoderlib',
[ 'lib/macintosh/decoder.cc', ],
dependencies: [fmtlib, felib, decoderlib]),
include_directories:
include_directories('lib/macintosh')
)
zilogmczdecoderlib = declare_dependency(
link_with:
shared_library('zilogmczdecoderlib',
[ 'lib/zilogmcz/decoder.cc', ],
dependencies: [fmtlib, felib, decoderlib]),
include_directories:
include_directories('lib/zilogmcz')
)
victor9kdecoderlib = declare_dependency(
link_with:
shared_library('victor9kdecoderlib',
[ 'lib/victor9k/decoder.cc', ],
dependencies: [fmtlib, felib, decoderlib]),
include_directories:
include_directories('lib/victor9k')
)
executable('fe-erase', ['src/fe-erase.cc'], dependencies: [felib, writerlib])
executable('fe-inspect', ['src/fe-inspect.cc'], dependencies: [fmtlib, felib, decoderlib, readerlib])
executable('fe-readadfs', ['src/fe-readadfs.cc'], dependencies: [fmtlib, felib, decoderlib, readerlib, ibmdecoderlib])
executable('fe-readaeslanier', ['src/fe-readaeslanier.cc'], dependencies: [fmtlib, felib, decoderlib, readerlib, aeslanierdecoderlib])
executable('fe-readamiga', ['src/fe-readamiga.cc'], dependencies: [fmtlib, felib, decoderlib, readerlib, amigadecoderlib])
executable('fe-readampro', ['src/fe-readampro.cc'], dependencies: [fmtlib, felib, decoderlib, readerlib, ibmdecoderlib])
executable('fe-readapple2', ['src/fe-readapple2.cc'], dependencies: [fmtlib, felib, decoderlib, readerlib, apple2decoderlib])
executable('fe-readbrother', ['src/fe-readbrother.cc'], dependencies: [fmtlib, felib, decoderlib, readerlib, brotherdecoderlib])
executable('fe-readc64', ['src/fe-readc64.cc'], dependencies: [fmtlib, felib, decoderlib, readerlib, c64decoderlib])
executable('fe-readdfs', ['src/fe-readdfs.cc'], dependencies: [fmtlib, felib, decoderlib, readerlib, ibmdecoderlib])
executable('fe-readf85', ['src/fe-readf85.cc'], dependencies: [fmtlib, felib, decoderlib, readerlib, f85decoderlib])
executable('fe-readibm', ['src/fe-readibm.cc'], dependencies: [fmtlib, felib, decoderlib, readerlib, ibmdecoderlib])
executable('fe-readmac', ['src/fe-readmac.cc'], dependencies: [fmtlib, felib, decoderlib, readerlib, macdecoderlib])
executable('fe-readzilogmcz', ['src/fe-readzilogmcz.cc'], dependencies: [fmtlib, felib, decoderlib, readerlib, zilogmczdecoderlib])
executable('fe-readvictor9k', ['src/fe-readvictor9k.cc'], dependencies: [fmtlib, felib, decoderlib, readerlib, victor9kdecoderlib])
executable('fe-rpm', ['src/fe-rpm.cc'], dependencies: [fmtlib, felib])
executable('fe-seek', ['src/fe-seek.cc'], dependencies: [fmtlib, felib])
executable('fe-testbulktransport', ['src/fe-testbulktransport.cc'], dependencies: [fmtlib, felib])
executable('fe-upgradefluxfile', ['src/fe-upgradefluxfile.cc'], dependencies: [fmtlib, felib, sqllib, sqlite])
executable('fe-writebrother', ['src/fe-writebrother.cc'], dependencies: [fmtlib, felib, writerlib, decoderlib, encoderlib, brotherencoderlib])
executable('fe-writeflux', ['src/fe-writeflux.cc'], dependencies: [fmtlib, felib, readerlib, writerlib])
executable('fe-writetestpattern', ['src/fe-writetestpattern.cc'], dependencies: [fmtlib, felib, writerlib])
executable('brother120tool', ['tools/brother120tool.cc'], dependencies: [fmtlib, felib])
executable('cwftoflux', ['tools/cwftoflux.cc'], dependencies: [fmtlib, felib, sqllib, sqlite])
test('DataSpec', executable('dataspec-test', ['tests/dataspec.cc'], dependencies: [felib]))
test('Flags', executable('flags-test', ['tests/flags.cc'], dependencies: [felib]))
test('FmMfm', executable('fmmfm-test', ['tests/fmmfm.cc'], dependencies: [felib, decoderlib]))
test('BitAccumulator', executable('bitaccumulator-test', ['tests/bitaccumulator.cc'], dependencies: [felib]))
test('Kryoflux', executable('kryoflux-test', ['tests/kryoflux.cc'], dependencies: [felib, decoderlib, fluxreaderlib]))
test('Compression', executable('compression-test', ['tests/compression.cc'], dependencies: [felib, decoderlib]))
test('Bytes', executable('bytes-test', ['tests/bytes.cc'], dependencies: [felib]))