summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIñigo Martínez <inigomartinez@gmail.com>2018-02-03 11:30:06 +0100
committerIñigo Martínez <inigomartinez@gmail.com>2018-02-03 11:36:52 +0100
commit91b924bc61665f08030c3874ca3ecdf980720322 (patch)
tree659c9cb48f5b430fdfe18e9f538790a594c26a67
parent12e7cf2034e5ef57d65b67d7805519069aada6ab (diff)
downloadgnome-settings-daemon-wip/inigomartinez/meson.tar.gz
build: Remove desktop generation duplicated commandswip/inigomartinez/meson
Every plugin generate an autostart desktop file, except `common` and `dummy` that are special cases. This desktop file generation is duplicated among the different plugin's build files. This code has been moved to the build file in the `plugins` directory, avoiding any code duplication. The downside of this is that meson is not able to generate files in a different directory, so all the files will be generated in the `plugin` directory, outside of the each plugin's directory. This is something that it's worked on in a different feature and it might be merged in the future. See https://github.com/mesonbuild/meson/pull/2617 https://bugzilla.gnome.org/show_bug.cgi?id=793087
-rw-r--r--plugins/a11y-settings/meson.build10
-rw-r--r--plugins/clipboard/meson.build10
-rw-r--r--plugins/color/meson.build10
-rw-r--r--plugins/datetime/meson.build10
-rw-r--r--plugins/housekeeping/meson.build10
-rw-r--r--plugins/keyboard/meson.build10
-rw-r--r--plugins/media-keys/meson.build10
-rw-r--r--plugins/meson.build52
-rw-r--r--plugins/mouse/meson.build10
-rw-r--r--plugins/power/meson.build10
-rw-r--r--plugins/print-notifications/meson.build10
-rw-r--r--plugins/rfkill/meson.build10
-rw-r--r--plugins/screensaver-proxy/meson.build10
-rw-r--r--plugins/sharing/meson.build10
-rw-r--r--plugins/smartcard/meson.build10
-rw-r--r--plugins/sound/meson.build10
-rw-r--r--plugins/wacom/meson.build10
-rw-r--r--plugins/xsettings/meson.build10
18 files changed, 33 insertions, 189 deletions
diff --git a/plugins/a11y-settings/meson.build b/plugins/a11y-settings/meson.build
index f088466e..8b8c52b8 100644
--- a/plugins/a11y-settings/meson.build
+++ b/plugins/a11y-settings/meson.build
@@ -1,13 +1,3 @@
-desktop = 'org.gnome.SettingsDaemon.A11ySettings.desktop'
-
-configure_file(
- input: desktop + '.in',
- output: desktop,
- configuration: plugins_conf,
- install: true,
- install_dir: gsd_xdg_autostart
-)
-
sources = files(
'gsd-a11y-settings-manager.c',
'main.c'
diff --git a/plugins/clipboard/meson.build b/plugins/clipboard/meson.build
index df25cc7a..8adc28ea 100644
--- a/plugins/clipboard/meson.build
+++ b/plugins/clipboard/meson.build
@@ -1,13 +1,3 @@
-desktop = 'org.gnome.SettingsDaemon.Clipboard.desktop'
-
-configure_file(
- input: desktop + '.in',
- output: desktop,
- configuration: plugins_conf,
- install: true,
- install_dir: gsd_xdg_autostart
-)
-
sources = files(
'gsd-clipboard-manager.c',
'list.c',
diff --git a/plugins/color/meson.build b/plugins/color/meson.build
index f026c0a6..969a17a1 100644
--- a/plugins/color/meson.build
+++ b/plugins/color/meson.build
@@ -1,13 +1,3 @@
-desktop = 'org.gnome.SettingsDaemon.Color.desktop'
-
-configure_file(
- input: desktop + '.in',
- output: desktop,
- configuration: plugins_conf,
- install: true,
- install_dir: gsd_xdg_autostart
-)
-
sources = files(
'gcm-edid.c',
'gnome-datetime-source.c',
diff --git a/plugins/datetime/meson.build b/plugins/datetime/meson.build
index a21d48f4..e5f614b5 100644
--- a/plugins/datetime/meson.build
+++ b/plugins/datetime/meson.build
@@ -1,13 +1,3 @@
-desktop = 'org.gnome.SettingsDaemon.Datetime.desktop'
-
-configure_file(
- input: desktop + '.in',
- output: desktop,
- configuration: plugins_conf,
- install: true,
- install_dir: gsd_xdg_autostart
-)
-
install_data(
'backward',
install_dir: join_paths(gsd_pkgdatadir, 'datetime')
diff --git a/plugins/housekeeping/meson.build b/plugins/housekeeping/meson.build
index bc743705..f1593477 100644
--- a/plugins/housekeeping/meson.build
+++ b/plugins/housekeeping/meson.build
@@ -1,13 +1,3 @@
-desktop = 'org.gnome.SettingsDaemon.Housekeeping.desktop'
-
-configure_file(
- input: desktop + '.in',
- output: desktop,
- configuration: plugins_conf,
- install: true,
- install_dir: gsd_xdg_autostart
-)
-
common_files = files(
'gsd-disk-space.c',
'gsd-disk-space-helper.c'
diff --git a/plugins/keyboard/meson.build b/plugins/keyboard/meson.build
index 413424a5..cd203a09 100644
--- a/plugins/keyboard/meson.build
+++ b/plugins/keyboard/meson.build
@@ -1,13 +1,3 @@
-desktop = 'org.gnome.SettingsDaemon.Keyboard.desktop'
-
-configure_file(
- input: desktop + '.in',
- output: desktop,
- configuration: plugins_conf,
- install: true,
- install_dir: gsd_xdg_autostart
-)
-
sources = files(
'gsd-keyboard-manager.c',
'main.c'
diff --git a/plugins/media-keys/meson.build b/plugins/media-keys/meson.build
index 18696e96..f371d1f5 100644
--- a/plugins/media-keys/meson.build
+++ b/plugins/media-keys/meson.build
@@ -1,13 +1,3 @@
-desktop = 'org.gnome.SettingsDaemon.MediaKeys.desktop'
-
-configure_file(
- input: desktop + '.in',
- output: desktop,
- configuration: plugins_conf,
- install: true,
- install_dir: gsd_xdg_autostart
-)
-
sources = files(
'bus-watch-namespace.c',
'gsd-media-keys-manager.c',
diff --git a/plugins/meson.build b/plugins/meson.build
index 6babd8ec..3db69da7 100644
--- a/plugins/meson.build
+++ b/plugins/meson.build
@@ -1,34 +1,34 @@
enabled_plugins = [
- 'a11y-settings',
- 'clipboard',
- 'color',
- 'datetime',
- 'dummy',
- 'power',
- 'housekeeping',
- 'keyboard',
- 'media-keys',
- 'mouse',
- 'screensaver-proxy',
- 'sharing',
- 'sound',
- 'xsettings'
+ ['a11y-settings', 'A11ySettings'],
+ ['clipboard', 'Clipboard'],
+ ['color', 'Color'],
+ ['datetime', 'Datetime'],
+ ['dummy', ''],
+ ['power', 'Power'],
+ ['housekeeping', 'Housekeeping'],
+ ['keyboard', 'Keyboard'],
+ ['media-keys', 'MediaKeys'],
+ ['mouse', 'Mouse'],
+ ['screensaver-proxy', 'ScreensaverProxy'],
+ ['sharing', 'Sharing'],
+ ['sound', 'Sound'],
+ ['xsettings', 'XSettings']
]
if enable_smartcard
- enabled_plugins += ['smartcard']
+ enabled_plugins += [['smartcard', 'Smartcard']]
endif
if enable_wacom
- enabled_plugins += ['wacom']
+ enabled_plugins += [['wacom', 'Wacom']]
endif
if enable_cups
- enabled_plugins += ['print-notifications']
+ enabled_plugins += [['print-notifications', 'PrintNotifications']]
endif
if enable_rfkill
- enabled_plugins += ['rfkill']
+ enabled_plugins += [['rfkill', 'Rfkill']]
endif
plugins_conf = configuration_data()
@@ -38,11 +38,25 @@ plugins_deps = [libgsd_dep]
plugins_cflags = ['-DGNOME_SETTINGS_LOCALEDIR="@0@"'.format(gsd_localedir)]
-foreach plugin_name: ['common'] + enabled_plugins
+foreach plugin: [['common', '']] + enabled_plugins
+ plugin_name = plugin[0]
+
cflags = [
'-DG_LOG_DOMAIN="@0@-plugin"'.format(plugin_name),
'-DPLUGIN_NAME="@0@"'.format(plugin_name),
] + plugins_cflags
+ if not ['common', 'dummy'].contains(plugin_name)
+ desktop = 'org.gnome.SettingsDaemon.@0@.desktop'.format(plugin[1])
+
+ configure_file(
+ input: join_paths(plugin_name, desktop + '.in'),
+ output: desktop,
+ configuration: plugins_conf,
+ install: true,
+ install_dir: gsd_xdg_autostart
+ )
+ endif
+
subdir(plugin_name)
endforeach
diff --git a/plugins/mouse/meson.build b/plugins/mouse/meson.build
index a01d2758..7dc58bac 100644
--- a/plugins/mouse/meson.build
+++ b/plugins/mouse/meson.build
@@ -1,13 +1,3 @@
-desktop = 'org.gnome.SettingsDaemon.Mouse.desktop'
-
-configure_file(
- input: desktop + '.in',
- output: desktop,
- configuration: plugins_conf,
- install: true,
- install_dir: gsd_xdg_autostart
-)
-
sources = files(
'gsd-mouse-manager.c',
'main.c'
diff --git a/plugins/power/meson.build b/plugins/power/meson.build
index 69c6ba02..a84e90a9 100644
--- a/plugins/power/meson.build
+++ b/plugins/power/meson.build
@@ -1,13 +1,3 @@
-desktop = 'org.gnome.SettingsDaemon.Power.desktop'
-
-configure_file(
- input: desktop + '.in',
- output: desktop,
- configuration: plugins_conf,
- install: true,
- install_dir: gsd_xdg_autostart
-)
-
sources = files(
'gpm-common.c',
'gsd-backlight-linux.c',
diff --git a/plugins/print-notifications/meson.build b/plugins/print-notifications/meson.build
index 241f305b..dabd0588 100644
--- a/plugins/print-notifications/meson.build
+++ b/plugins/print-notifications/meson.build
@@ -1,13 +1,3 @@
-desktop = 'org.gnome.SettingsDaemon.PrintNotifications.desktop'
-
-configure_file(
- input: desktop + '.in',
- output: desktop,
- configuration: plugins_conf,
- install: true,
- install_dir: gsd_xdg_autostart
-)
-
sources = files(
'gsd-print-notifications-manager.c',
'main.c'
diff --git a/plugins/rfkill/meson.build b/plugins/rfkill/meson.build
index 8a4d094d..ef2dd7f0 100644
--- a/plugins/rfkill/meson.build
+++ b/plugins/rfkill/meson.build
@@ -1,13 +1,3 @@
-desktop = 'org.gnome.SettingsDaemon.Rfkill.desktop'
-
-configure_file(
- input: desktop + '.in',
- output: desktop,
- configuration: plugins_conf,
- install: true,
- install_dir: gsd_xdg_autostart
-)
-
install_data(
'61-gnome-settings-daemon-rfkill.rules',
install_dir: join_paths(udev_dir, 'rules.d')
diff --git a/plugins/screensaver-proxy/meson.build b/plugins/screensaver-proxy/meson.build
index dda0fed4..945a2525 100644
--- a/plugins/screensaver-proxy/meson.build
+++ b/plugins/screensaver-proxy/meson.build
@@ -1,13 +1,3 @@
-desktop = 'org.gnome.SettingsDaemon.ScreensaverProxy.desktop'
-
-configure_file(
- input: desktop + '.in',
- output: desktop,
- configuration: plugins_conf,
- install: true,
- install_dir: gsd_xdg_autostart
-)
-
sources = files(
'gsd-screensaver-proxy-manager.c',
'main.c'
diff --git a/plugins/sharing/meson.build b/plugins/sharing/meson.build
index 5ab82652..5a407401 100644
--- a/plugins/sharing/meson.build
+++ b/plugins/sharing/meson.build
@@ -1,13 +1,3 @@
-desktop = 'org.gnome.SettingsDaemon.Sharing.desktop'
-
-configure_file(
- input: desktop + '.in',
- output: desktop,
- configuration: plugins_conf,
- install: true,
- install_dir: gsd_xdg_autostart
-)
-
sources = files(
'gsd-sharing-manager.c',
'main.c'
diff --git a/plugins/smartcard/meson.build b/plugins/smartcard/meson.build
index da256e25..f0219f35 100644
--- a/plugins/smartcard/meson.build
+++ b/plugins/smartcard/meson.build
@@ -1,13 +1,3 @@
-desktop = 'org.gnome.SettingsDaemon.Smartcard.desktop'
-
-configure_file(
- input: desktop + '.in',
- output: desktop,
- configuration: plugins_conf,
- install: true,
- install_dir: gsd_xdg_autostart
-)
-
sources = files(
'gsd-smartcard-manager.c',
'gsd-smartcard-service.c',
diff --git a/plugins/sound/meson.build b/plugins/sound/meson.build
index acba4371..1b3940fc 100644
--- a/plugins/sound/meson.build
+++ b/plugins/sound/meson.build
@@ -1,13 +1,3 @@
-desktop = 'org.gnome.SettingsDaemon.Sound.desktop'
-
-configure_file(
- input: desktop + '.in',
- output: desktop,
- configuration: plugins_conf,
- install: true,
- install_dir: gsd_xdg_autostart
-)
-
sources = files(
'gsd-sound-manager.c',
'main.c'
diff --git a/plugins/wacom/meson.build b/plugins/wacom/meson.build
index c150b3c6..29d12dc3 100644
--- a/plugins/wacom/meson.build
+++ b/plugins/wacom/meson.build
@@ -1,13 +1,3 @@
-desktop = 'org.gnome.SettingsDaemon.Wacom.desktop'
-
-configure_file(
- input: desktop + '.in',
- output: desktop,
- configuration: plugins_conf,
- install: true,
- install_dir: gsd_xdg_autostart
-)
-
policy = 'org.gnome.settings-daemon.plugins.wacom.policy'
policy_in = configure_file(
diff --git a/plugins/xsettings/meson.build b/plugins/xsettings/meson.build
index 6cfb8f7a..8364d3b8 100644
--- a/plugins/xsettings/meson.build
+++ b/plugins/xsettings/meson.build
@@ -1,13 +1,3 @@
-desktop = 'org.gnome.SettingsDaemon.XSettings.desktop'
-
-configure_file(
- input: desktop + '.in',
- output: desktop,
- configuration: plugins_conf,
- install: true,
- install_dir: gsd_xdg_autostart
-)
-
gsd_xsettings_gtk = files('gsd-xsettings-gtk.c')
fc_monitor = files('fc-monitor.c')