-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmeson.build
More file actions
72 lines (62 loc) · 1.99 KB
/
Copy pathmeson.build
File metadata and controls
72 lines (62 loc) · 1.99 KB
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
project('taskly', 'vala', 'c',
version: '1.0.0',
meson_version: '>= 0.59.0',
default_options: ['warning_level=2'])
gnome = import('gnome')
vala_deps = [
dependency('gtk4'),
dependency('libadwaita-1'),
dependency('sqlite3'),
dependency('libnotify'),
]
sources = files(
'src/models.vala',
'src/config.vala',
'src/dateparser.vala',
'src/i18n.vala',
'src/palette.vala',
'src/database.vala',
'src/clijson.vala',
'src/cli.vala',
'src/cliinstaller.vala',
'src/reminder.vala',
'src/ui.vala',
'src/dialogs.vala',
'src/taskly.vala',
)
i18n_resources = [
'resources/i18n/zh.json',
'resources/i18n/en.json',
]
executable('taskly', sources,
vala_args: ['--target-glib=2.72', '--pkg=posix'],
dependencies: vala_deps,
install: true)
# i18n tables (byte-identical copies of shared/i18n), installed next to the
# binary's data dir; the loader also checks the source dir for dev runs.
install_data(i18n_resources,
install_dir: get_option('prefix') / get_option('datadir') / 'taskly' / 'i18n')
# Desktop entry + app icon + metainfo
install_data('resources/taskly.desktop',
install_dir: get_option('prefix') / get_option('datadir') / 'applications')
install_data('resources/taskly.svg',
install_dir: get_option('prefix') / get_option('datadir') / 'icons' / 'hicolor' / 'scalable' / 'apps',
rename: ['app.taskly.Taskly.svg'])
install_data('flatpak/app.metainfo.xml',
install_dir: get_option('prefix') / get_option('datadir') / 'metainfo',
rename: ['app.taskly.Taskly.metainfo.xml'])
# ---- contract tests (date parser, flat-JSON i18n, CLI JSON escaping) ----
test_sources = files(
'src/models.vala',
'src/config.vala',
'src/dateparser.vala',
'src/i18n.vala',
'src/palette.vala',
'src/database.vala',
'src/clijson.vala',
'tests/core-test.vala',
)
test('core-contract', executable('taskly-core-test', test_sources,
vala_args: ['--target-glib=2.72', '--pkg=posix'],
dependencies: vala_deps),
env: ['TASKLY_I18N_DIR=' + meson.current_source_dir() / 'resources' / 'i18n'])