diff options
Diffstat (limited to 'data/meson.build')
-rw-r--r-- | data/meson.build | 138 |
1 files changed, 138 insertions, 0 deletions
diff --git a/data/meson.build b/data/meson.build new file mode 100644 index 0000000..30d4917 --- /dev/null +++ b/data/meson.build @@ -0,0 +1,138 @@ +desktop_files = [ + 'org.gnome.Shell.desktop', + 'org.gnome.Shell.Extensions.desktop', +] +service_files = [] + +if have_networkmanager + desktop_files += 'org.gnome.Shell.PortalHelper.desktop' + service_files += 'org.gnome.Shell.PortalHelper.service' +endif + +desktopconf = configuration_data() +# We substitute in bindir so it works as an autostart +# file when built in a non-system prefix +desktopconf.set('bindir', bindir) +desktopconf.set('systemd_hidden', have_systemd ? 'true' : 'false') + +foreach desktop_file : desktop_files + i18n.merge_file( + input: configure_file( + input: desktop_file + '.in.in', + output: desktop_file + '.in', + configuration: desktopconf + ), + output: desktop_file, + po_dir: po_dir, + install: true, + install_dir: desktopdir, + type: 'desktop' + ) +endforeach + +serviceconf = configuration_data() +serviceconf.set('libexecdir', libexecdir) +foreach service_file : service_files + configure_file( + input: service_file + '.in', + output: service_file, + configuration: serviceconf, + install_dir: servicedir + ) +endforeach + +theme_deps = [] + +subdir('dbus-interfaces') +subdir('icons') +subdir('theme') + +data_resources = [ + {'name': 'dbus-interfaces'}, + {'name': 'icons'}, + {'name': 'osk-layouts'}, + {'name': 'theme', 'deps': theme_deps} +] +foreach resource : data_resources + name = resource.get('name') + deps = resource.get('deps', []) + + gnome.compile_resources( + 'gnome-shell-' + name, + 'gnome-shell-@0@.gresource.xml'.format(name), + source_dir: name, + dependencies: deps, + gresource_bundle: true, + install: true, + install_dir: pkgdatadir + ) +endforeach + +perfconf = configuration_data() +perfconf.set('datadir', datadir) +configure_file( + input: 'perf-background.xml.in', + output: 'perf-background.xml', + configuration: perfconf, + install_dir: pkgdatadir +) + +keybinding_files = [ + '50-gnome-shell-launchers.xml', + '50-gnome-shell-screenshots.xml', + '50-gnome-shell-system.xml', +] + +install_data('gnome-shell.portal', install_dir: portaldir) +install_data(keybinding_files, install_dir: keysdir) + + +schemaconf = configuration_data() +schemaconf.set('GETTEXT_PACKAGE', meson.project_name()) +schema = configure_file( + input: 'org.gnome.shell.gschema.xml.in', + output: 'org.gnome.shell.gschema.xml', + configuration: schemaconf, + install_dir: schemadir +) +install_data('00_org.gnome.shell.gschema.override', install_dir: schemadir) + +overrides_migration_conf = configuration_data() +overrides_migration_conf.set('libexecdir', libexecdir) +overrides_migration = configure_file( + input: 'gnome-shell-overrides-migration.desktop.in', + output: 'gnome-shell-overrides-migration.desktop', + configuration: overrides_migration_conf, + install_dir: autostartdir +) + +if have_systemd + unitconf = configuration_data() + unitconf.set('bindir', bindir) + + configure_file( + input: 'org.gnome.Shell@x11.service.in', + output: 'org.gnome.Shell@x11.service', + configuration: unitconf, + install_dir: systemduserunitdir + ) + + configure_file( + input: 'org.gnome.Shell@wayland.service.in', + output: 'org.gnome.Shell@wayland.service', + configuration: unitconf, + install_dir: systemduserunitdir + ) + + units = files('org.gnome.Shell.target', + 'org.gnome.Shell-disable-extensions.service') + + install_data(units, install_dir: systemduserunitdir) +endif + +# for unit tests - gnome.compile_schemas() only looks in srcdir +custom_target('compile-schemas', + input: schema, + output: 'gschemas.compiled', + command: [find_program('glib-compile-schemas'), meson.current_build_dir()], + build_by_default: true) |