-
Notifications
You must be signed in to change notification settings - Fork 8
/
meson.build
86 lines (74 loc) · 2.54 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
# project name and programming language
project('com.github.bernardodsanderson.vido', 'vala', 'c')
gnome = import('gnome')
i18n = import('i18n')
add_project_arguments(
'-DGETTEXT_PACKAGE="@0@"'.format(meson.project_name()),
language: 'c'
)
config_data = configuration_data()
config_data.set_quoted('LOCALEDIR', get_option('prefix') / get_option('localedir'))
config_data.set_quoted('GETTEXT_PACKAGE', meson.project_name())
config_file = configure_file(
input: 'src' / 'Config.vala.in',
output: '@BASENAME@',
configuration: config_data
)
asresources = gnome.compile_resources(
'as-resources', 'data/' + meson.project_name() + '.gresource.xml',
source_dir: 'data',
c_name: 'as'
)
# Create a new executable, list the files we want to compile, list the dependencies we need, and install
executable(
meson.project_name(),
asresources,
config_file,
'src/Application.vala',
'src/MainWindow.vala',
vala_args: [
'--pkg=posix'
],
dependencies: [
dependency('glib-2.0'),
dependency('gtk+-3.0'),
dependency('granite', version: '>= 6.0.0'),
dependency('libhandy-1')
],
install: true
)
#Install our .desktop file so the Applications Menu will see it
i18n.merge_file(
input: join_paths('data', meson.project_name() + '.desktop.in'),
output: meson.project_name() + '.desktop',
type: 'desktop',
install: true,
po_dir: join_paths(meson.source_root(), 'po', 'extra'),
install_dir: join_paths(get_option('datadir'), 'applications')
)
#Install our .appdata.xml file so AppCenter will see it
i18n.merge_file(
input: join_paths('data', meson.project_name() + '.appdata.xml.in'),
output: meson.project_name() + '.appdata.xml',
install: true,
po_dir: join_paths(meson.source_root(), 'po', 'extra'),
install_dir: join_paths(get_option('datadir'), 'metainfo')
)
install_data(
join_paths('data', meson.project_name() + '.gschema.xml'),
install_dir: join_paths(get_option('datadir'), 'glib-2.0', 'schemas')
)
#Install icons
icon_sizes = ['128', '64', '48', '32', '24', '16']
foreach i : icon_sizes
install_data(
join_paths('data/icons', i, meson.project_name() + '.svg'),
install_dir: join_paths(get_option('datadir'), 'icons', 'hicolor', i + 'x' + i, 'apps')
)
install_data(
join_paths('data/icons', i, meson.project_name() + '.svg'),
install_dir: join_paths(get_option('datadir'), 'icons', 'hicolor', i + 'x' + i + '@2', 'apps')
)
endforeach
subdir('po')
meson.add_install_script('meson/post_install.py')