summaryrefslogtreecommitdiffstats
path: root/data/meson.build
diff options
context:
space:
mode:
Diffstat (limited to 'data/meson.build')
-rw-r--r--data/meson.build138
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)