meson.build
ASCII text
1gtk3_scss_depend_files = files([ 2'../_color-palette.scss', 3'../_theme.scss', 4'../_theme-color.scss', 5'sass/apps/_budgie.scss', 6'sass/apps/_gnome.scss', 7'sass/apps/_index.scss', 8'sass/apps/_libhandy.scss', 9'sass/apps/_lightdm.scss', 10'sass/apps/_mate.scss', 11'sass/apps/_misc.scss', 12'sass/apps/_nemo.scss', 13'sass/apps/_unity.scss', 14'sass/apps/_xfce.scss', 15'sass/_common.scss', 16'sass/_drawing.scss', 17'sass/_public-colors.scss', 18]) 19 20foreach theme: themes 21gtk3_dir = join_paths(theme['dir'], 'gtk-3.0') 22 23gtk3_variants = [ 24'gtk', 25] 26 27# Only non-dark themes need a dark variant. 28if theme['color'] != '-dark' 29gtk3_variants += 'gtk-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']) 50gtk3_scss_conf.set('current_source_dir', meson.current_source_dir()) 51 52foreach gtk3_variant: gtk3_variants 53gtk3_temp_name = '@0@.gtk3.@1@'.format(theme['name'], gtk3_variant) 54 55# Configure SCSS file 56gtk3_scss = configure_file( 57input: '@0@.scss.in'.format(gtk3_variant), 58output: '@0@.scss'.format(gtk3_temp_name), 59configuration: gtk3_scss_conf, 60) 61 62# Generate CSS file 63gtk3_css = custom_target( 64'@0@.css'.format(gtk3_temp_name), 65input: gtk3_scss, 66output: '@0@.css'.format(gtk3_temp_name), 67command: [sass, sass_opts, '@INPUT@', '@OUTPUT@'], 68depend_files: gtk3_scss_depend_files, 69build_by_default: true, 70) 71 72# Install it while renaming to a valid name 73meson.add_install_script( 74sh, '-c', 'cp "@0@" "@1@"'.format( 75gtk3_css.full_path(), 76join_paths('$MESON_INSTALL_DESTDIR_PREFIX', gtk3_dir, '@0@.css'.format(gtk3_variant)), 77), 78) 79endforeach 80endforeach 81