forked from fuzziqersoftware/gctools
-
Notifications
You must be signed in to change notification settings - Fork 0
/
meson.build
118 lines (106 loc) · 2.29 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
project(
'gctools',
'cpp',
default_options: ['default_library=static', 'cpp_std=c++20', 'werror=true'],
)
cpp = meson.get_compiler('cpp')
if cpp.get_argument_syntax() == 'gcc'
add_project_arguments(
cpp.get_supported_arguments(
[
'-Wno-strict-aliasing',
],
),
language: 'cpp',
)
endif
phosg_dep = dependency('phosg', fallback: ['phosg', 'phosg_dep'])
phosg_audio_dep = dependency(
'phosg-audio',
fallback: ['phosg', 'phosg_audio_dep'],
)
openal_dep = dependency('OpenAL')
samplerate_dep = dependency('samplerate')
prs = library(
'prs',
'src/prs/PRSDataLog.cc',
'src/prs/PRS.cc',
'src/prs/Yay0.cc',
'src/prs/Yaz0.cc',
dependencies: [phosg_dep],
install: true,
)
install_headers(
'src/prs/PRS.hh',
'src/prs/PRSDataLog.hh',
'src/prs/Yay0.hh',
'src/prs/Yaz0.hh',
subdir: 'prs',
)
simple_executable_names = [
'afsdump',
'gcmasm',
'gcmdump',
'gsldump',
'gvmdump',
'rcfdump',
]
all_executable_names = [
simple_executable_names,
'pae2gvm',
'prsd',
'smsdumpbanks',
'smssynth',
'modsynth',
]
foreach executable_name : simple_executable_names
executable(
executable_name,
f'src/@[email protected]',
dependencies: [phosg_dep],
install: true,
)
endforeach
executable(
'pae2gvm',
'src/pae2gvm.cc',
dependencies: [phosg_dep],
link_with: [prs],
install: true,
)
executable(
'prsd',
'src/prs/main.cc',
dependencies: [phosg_dep],
link_with: [prs],
install: true,
)
executable(
'smsdumpbanks',
'src/sms/smsdumpbanks.cc',
'src/sms/aaf.cc',
'src/sms/afc.cc',
'src/sms/instrument.cc',
dependencies: [phosg_dep, phosg_audio_dep, openal_dep],
link_with: [prs],
install: true,
)
executable(
'smssynth',
'src/sms/smssynth.cc',
'src/sms/SampleCache.cc',
'src/sms/aaf.cc',
'src/sms/afc.cc',
'src/sms/instrument.cc',
dependencies: [phosg_dep, phosg_audio_dep, openal_dep, samplerate_dep],
link_with: [prs],
install: true,
)
executable(
'modsynth',
'src/sms/modsynth.cc',
'src/sms/SampleCache.cc',
dependencies: [phosg_dep, phosg_audio_dep, openal_dep, samplerate_dep],
link_with: [prs],
install: true,
)