[gnome-settings-daemon] build: Remove desktop generation duplicated commands



commit d5397729fc772a7223bc46c88876e9e9a85c5b76
Author: Iñigo Martínez <inigomartinez gmail com>
Date:   Sat Feb 3 11:30:06 2018 +0100

    build: Remove desktop generation duplicated commands
    
    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

 plugins/a11y-settings/meson.build       |   10 ------
 plugins/clipboard/meson.build           |   10 ------
 plugins/color/meson.build               |   10 ------
 plugins/datetime/meson.build            |   10 ------
 plugins/housekeeping/meson.build        |   10 ------
 plugins/keyboard/meson.build            |   10 ------
 plugins/media-keys/meson.build          |   10 ------
 plugins/meson.build                     |   52 +++++++++++++++++++-----------
 plugins/mouse/meson.build               |   10 ------
 plugins/power/meson.build               |   10 ------
 plugins/print-notifications/meson.build |   10 ------
 plugins/rfkill/meson.build              |   10 ------
 plugins/screensaver-proxy/meson.build   |   10 ------
 plugins/sharing/meson.build             |   10 ------
 plugins/smartcard/meson.build           |   10 ------
 plugins/sound/meson.build               |   10 ------
 plugins/wacom/meson.build               |   10 ------
 plugins/xsettings/meson.build           |   10 ------
 18 files changed, 33 insertions(+), 189 deletions(-)
---
diff --git a/plugins/a11y-settings/meson.build b/plugins/a11y-settings/meson.build
index f088466..8b8c52b 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 df25cc7..8adc28e 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 f026c0a..969a17a 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 a21d48f..e5f614b 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 bc74370..f159347 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 413424a..cd203a0 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 18696e9..f371d1f 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 6babd8e..3db69da 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 a01d275..7dc58ba 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 bada27f..e24ccd5 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 241f305..dabd058 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 8a4d094..ef2dd7f 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 dda0fed..945a252 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 5ab8265..5a40740 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 da256e2..f0219f3 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 acba437..1b3940f 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 c150b3c..29d12dc 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 6cfb8f7..8364d3b 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')


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]