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