-
Notifications
You must be signed in to change notification settings - Fork 6
/
meson.build
89 lines (78 loc) · 2.75 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
# project name and programming language
project('io.github.leolost2605.gradebook', 'vala', 'c')
subdir ('po')
conf = configuration_data()
# Get the package data directory under Meson
pkgdatadir = join_paths([ get_option('prefix'),
get_option('datadir'),
meson.project_name() ])
conf.set_quoted('APP_ID', meson.project_name())
conf.set_quoted('VERSION', meson.project_version())
conf.set_quoted('PKGDATADIR', pkgdatadir)
conf.set_quoted('LOCALEDIR', join_paths(get_option('prefix'), get_option('localedir')))
# Other configs
conf.set_quoted('GETTEXT_PACKAGE', meson.project_name())
add_global_arguments('-DDATADIR="' + get_option('datadir') + '"', language: 'c')
configure_file(output: 'config.h', configuration: conf)
config_h_dir = include_directories('.')
# Arguments for C
c_args = [
'-include', 'config.h',
'-w'
]
# Arguments for Vala
vala_args = ['--target-glib=2.50', meson.source_root() + '/src/config.vapi']
# Create a new executable, list the files we want to compile, list the dependencies we need, and install
executable(
meson.project_name(),
'src' / 'application.vala',
'src' / 'grade.vala',
'src' / 'subject.vala',
'src' / 'new-grade-dialog.vala',
'src' / 'category.vala',
'src' / 'edit-subject-dialog.vala',
'src' / 'add-category-dialog.vala',
'src' / 'subject-manager.vala',
'src' / 'subject-page.vala',
'src' / 'subject-parser.vala',
'src' / 'window.vala',
dependencies: [
dependency('gtk4'),
dependency('libadwaita-1'),
dependency('json-glib-1.0')
],
c_args: c_args, vala_args: vala_args,
install: true
)
install_data (
'data' / 'io.github.leolost2605.gradebook.desktop',
install_dir: get_option('datadir') / 'applications'
)
install_data (
'data' / 'io.github.leolost2605.gradebook.metainfo.xml',
install_dir: get_option('datadir') / 'metainfo'
)
# Install our icons in all the required sizes
icon_sizes = ['16', '24', '32', '48', '64', '128']
foreach i : icon_sizes
install_data(
'data' / i + '.svg',
install_dir: get_option('datadir') / 'icons' / 'hicolor' / i + 'x' + i / 'apps',
rename: meson.project_name() + '.svg'
)
install_data(
'data' / i + '.svg',
install_dir: get_option('datadir') / 'icons' / 'hicolor' / i + 'x' + i + '@2' / 'apps',
rename: meson.project_name() + '.svg'
)
endforeach
install_data(
'data' / 'dock-left-symbolic.svg',
install_dir: get_option('datadir') / 'icons' / 'hicolor' / 'symbolic' / 'apps',
rename: 'dock-left-symbolic.svg'
)
install_data(
'data' / 'user-trash-symbolic.svg',
install_dir: get_option('datadir') / 'icons' / 'hicolor' / 'symbolic' / 'apps',
rename: 'user-trash-symbolic.svg'
)