aboutsummaryrefslogtreecommitdiff
path: root/plugins/meson.build
blob: 5e5bc0816b98adefc90749373bac81081b16562b (plain)
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
dsp_srcs = ['synthpod_lv2.c',
	'synthpod_control2cv.c',
	'synthpod_cv2control.c',
	'synthpod_heavyload.c',
	'synthpod_keyboard.c',
	'synthpod_midisplitter.c',
	'synthpod_panic.c',
	'synthpod_placeholder.c',
	'synthpod_stereo.c']

nk_deps = [m_dep, rt_dep, thread_dep, lv2_dep, lilv_dep, cairo_dep, nk_pugl_dep, xcb_dep, xcbicccm_dep, xcbxrm_dep]
nk_srcs = ['synthpod_lv2_nk.c',
	'synthpod_keyboard_nk.c',
	'synthpod_common_nk.c',
	join_paths('..', 'sandbox_ui.lv2', 'sandbox_slave.c'),
	join_paths('..', 'bin', 'synthpod_sandbox_x11_driver.c')]

ui_deps = [m_dep, rt_dep, thread_dep, lv2_dep, lilv_dep, d2tk_dep, xcb_dep, xcbicccm_dep, xcbxrm_dep]
ui_srcs = ['synthpod_lv2_d2tk.c',
	'synthpod_common_d2tk.c',
	join_paths('..', 'sandbox_ui.lv2', 'sandbox_slave.c'),
	join_paths('..', 'bin', 'synthpod_sandbox_x11_driver.c')]

dsp = shared_module('synthpod', dsp_srcs,
	c_args : c_args,
	include_directories : bin_incs,
	name_prefix : '',
	dependencies : bin_deps,
	link_with : [app, sbox_master],
	install : true,
	install_dir : plug_dir)

suffix = dsp.full_path().strip().split('.')[-1]
conf_data.set('MODULE_SUFFIX', '.' + suffix)
	
if host_machine.system() == 'linux'
	conf_data.set('UI_TYPE', 'X11UI')
elif host_machine.system() == 'windows'
	conf_data.set('UI_TYPE', 'WindowsUI')
elif host_machine.system() == 'darwin'
	conf_data.set('UI_TYPE', 'CocoaUI')
endif

ttls = []

if use_x11
	nk = shared_module('synthpod_nk', nk_srcs,
		c_args : c_args,
		include_directories : bin_incs,
		name_prefix : '',
		dependencies : nk_deps,
		link_with : [sbox_master],
		install : true,
		install_dir : plug_dir)

	ui = shared_module('synthpod_ui', ui_srcs,
		c_args : c_args,
		include_directories : bin_incs,
		name_prefix : '',
		dependencies : ui_deps,
		link_with : [sbox_master],
		install : true,
		install_dir : plug_dir)

	configure_file(
		input : join_paths('..', 'data', 'font', 'Abel-Regular.ttf'),
		output : 'Abel-Regular.ttf',
		copy : true,
		install : true,
		install_dir : plug_dir)

	ui_ttl = configure_file (
		input : 'synthpod_ui.ttl',
		output : 'synthpod_ui.ttl',
		copy : true,
		install : true,
		install_dir : plug_dir)
	ttls += ui_ttl
endif

manifest_ttl = configure_file(
	input : 'manifest.ttl.in',
	output : 'manifest.ttl',
	configuration : conf_data,
	install : true,
	install_dir : plug_dir)
ttls += manifest_ttl

dsp_ttl = configure_file(
	input : 'synthpod.ttl',
	output : 'synthpod.ttl',
	copy : true,
	install : true,
	install_dir : plug_dir)
ttls += dsp_ttl

#FIXME paths
install_data('../data/pix/audio.png', install_dir : plug_dir )
install_data('../data/pix/control.png', install_dir : plug_dir )
install_data('../data/pix/cv.png', install_dir : plug_dir )
install_data('../data/pix/event.png', install_dir : plug_dir )
install_data('../data/pix/event_inverted.png', install_dir : plug_dir )
install_data('../data/pix/atom.png', install_dir : plug_dir )
install_data('../data/pix/atom_inverted.png', install_dir : plug_dir )

install_data('../data/pix/midi.png', install_dir : plug_dir )
install_data('../data/pix/osc.png', install_dir : plug_dir )
install_data('../data/pix/time.png', install_dir : plug_dir )
install_data('../data/pix/patch.png', install_dir : plug_dir )
install_data('../data/pix/xpress.png', install_dir : plug_dir )
install_data('../data/pix/automaton.png', install_dir : plug_dir )
install_data('../data/pix/bug.png', install_dir : plug_dir )

install_data('../data/png/plus.png', install_dir : plug_dir )
install_data('../data/png/download.png', install_dir : plug_dir )
install_data('../data/png/cancel.png', install_dir : plug_dir )
install_data('../data/png/house.png', install_dir : plug_dir )
install_data('../data/png/layers.png', install_dir : plug_dir )
install_data('../data/png/user.png', install_dir : plug_dir )
install_data('../data/png/settings.png', install_dir : plug_dir )
install_data('../data/png/menu.png', install_dir : plug_dir )

if lv2_validate.found() and sord_validate.found()
	test('LV2 validate', lv2_validate,
		args : ttls)
endif

if lv2lint.found()
	test('LV2 lint', lv2lint,
		args : ['-I', join_paths(build_root, 'plugins', ''),
			'-Ewarn',
			'http://open-music-kontrollers.ch/lv2/synthpod#control2cv',
			'http://open-music-kontrollers.ch/lv2/synthpod#cv2control',
			'http://open-music-kontrollers.ch/lv2/synthpod#heavyload',
			'http://open-music-kontrollers.ch/lv2/synthpod#keyboard',
			'http://open-music-kontrollers.ch/lv2/synthpod#midisplitter',
			'http://open-music-kontrollers.ch/lv2/synthpod#panic',
			'http://open-music-kontrollers.ch/lv2/synthpod#placeholder',
			'http://open-music-kontrollers.ch/lv2/synthpod#stereo'])
endif