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