-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathmeson.build
92 lines (75 loc) · 1.92 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
project('eko', ['cpp','c'],
default_options : ['cpp_std=c++11'],
version : '7.0.1',
license : 'GPLv3')
add_global_arguments('-DVERSION_NUMBER="7.0.1"', language : 'cpp')
add_global_arguments('-DUSE_QML_STUFF=1', language : 'cpp')
#harcoded for now
moc_params = ['-DQT_VERSION=0x050000', '-DUSE_QML_STUFF=1']
if build_machine.system() == 'linux'
moc_params += ['-DQ_OS_LINUX=1', '-DQ_OS_UNIX=1']
endif
compiler = meson.get_compiler('cpp')
sndfile_dep = compiler.find_library('sndfile', required : true)
samplerate_dep = compiler.find_library('samplerate', required : true)
portaudio_dep = compiler.find_library('portaudio', required : true)
qt5_dep = dependency('qt5', modules : ['Core', 'Gui', 'Widgets'])
qt5 = import('qt5')
eko_headers_moc = [
'eko.h',
'document.h',
'utils.h',
'fman.h',
'shortcuts.h',
'logmemo.h',
'tio.h',
'fxset.h',
'gui_utils.h',
'libretta_interpolator.h',
'floatbuffer.h',
'envelope.h',
'fx-filter.h',
'fx-panners.h',
'cvlevelmeter.h',
'fxrack.h',
'afx.h',
'fxlist.h',
'noisegen.h',
'db.h',
'fxpresets.h']
src_processed = qt5.preprocess(
moc_headers : eko_headers_moc,
moc_extra_arguments: moc_params,
qresources : 'eko.qrc')
eko_source = ['main.cpp',
'eko.cpp',
'main.cpp',
'document.cpp',
'utils.cpp',
'fman.cpp',
'shortcuts.cpp',
'logmemo.cpp',
'tio.cpp',
'fxset.cpp',
'gui_utils.cpp',
'libretta_interpolator.cpp',
'floatbuffer.cpp',
'envelope.cpp',
'fx-filter.cpp',
'fx-panners.cpp',
'cvlevelmeter.cpp',
'fxrack.cpp',
'afx.cpp',
'fxlist.cpp',
'noisegen.cpp',
'db.cpp',
'fxpresets.cpp']
eko_exe = executable ('eko',
sources : [src_processed, eko_source],
install : true,
dependencies : [qt5_dep, sndfile_dep, portaudio_dep, samplerate_dep]
)
install_data(['icons/eko.png'],
install_dir : 'share/icons/hicolor/64x64/apps')
install_data(['desktop/eko.desktop'],
install_dir : 'share/applications')