meson.build
ASCII text
1
gtk_versions = [
2
'3.0',
3
]
4
5
gtk_scss_depend_files = files([
6
'../_color-palette.scss',
7
'../_colors.scss',
8
'../_variables.scss',
9
'sass/apps/_budgie.scss',
10
'sass/apps/_gnome-3.22.scss',
11
'sass/apps/_lightdm.scss',
12
'sass/apps/_mate.scss',
13
'sass/apps/_misc.scss',
14
'sass/apps/_nemo.scss',
15
'sass/apps/_unity.scss',
16
'sass/apps/_xfce.scss',
17
'sass/_apps-3.22.scss',
18
'sass/_colors-public.scss',
19
'sass/_common-3.20.scss',
20
'sass/_drawing-3.20.scss',
21
])
22
23
foreach theme: themes
24
gtk_variants = [
25
'',
26
]
27
28
# Only non-dark themes need a dark variant.
29
if theme['color'] != '-dark'
30
gtk_variants += '-dark'
31
endif
32
33
gtk_scss_conf = configuration_data()
34
gtk_scss_conf.set('variant', theme['scss_variant'])
35
gtk_scss_conf.set('topbar', theme['scss_topbar'])
36
gtk_scss_conf.set('compact', theme['scss_compact'])
37
38
foreach gtk_version: gtk_versions
39
gtk_version_dir = join_paths(theme['dir'], 'gtk-@0@'.format(gtk_version))
40
41
install_subdir(
42
'assets',
43
install_dir: gtk_version_dir,
44
)
45
46
install_subdir(
47
'icons',
48
install_dir: gtk_version_dir,
49
)
50
51
#
52
# SCSS
53
#
54
55
foreach gtk_variant: gtk_variants
56
gtk_temp_name = 'gtk@0@.gtk-@1@.@2@'.format(gtk_variant, gtk_version, theme['name'])
57
58
# Configure SCSS file
59
gtk_scss = configure_file(
60
input: 'gtk@0@.scss.in'.format(gtk_variant),
61
output: '@0@.scss'.format(gtk_temp_name),
62
configuration: gtk_scss_conf,
63
)
64
65
# Copy it from build dir to source dir
66
run_command(
67
'cp',
68
gtk_scss,
69
meson.current_source_dir(),
70
)
71
72
# Generate CSS file
73
gtk_css = custom_target(
74
'@0@.css'.format(gtk_temp_name),
75
input: '@0@.scss'.format(gtk_temp_name),
76
output: '@0@.css'.format(gtk_temp_name),
77
command: [sassc, sassc_opts, '@INPUT@', '@OUTPUT@'],
78
depend_files: gtk_scss_depend_files,
79
build_by_default: true,
80
)
81
82
# Install it while renaming to a valid name
83
meson.add_install_script(
84
'sh', '-c', 'cp "@0@" "@1@"'.format(
85
gtk_css.full_path(),
86
join_paths('$MESON_INSTALL_DESTDIR_PREFIX', gtk_version_dir, 'gtk@0@.css'.format(gtk_variant)),
87
),
88
)
89
endforeach
90
endforeach
91
endforeach
92