summaryrefslogtreecommitdiff
path: root/plugins/meson.build
blob: 53db07dbb15f7a99f2b2738bb2fc7feb06adc8c9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
enabled_plugins = [
  ['a11y-settings', 'A11ySettings'],
  ['color', 'Color'],
  ['datetime', 'Datetime'],
  ['dummy', ''],
  ['power', 'Power'],
  ['housekeeping', 'Housekeeping'],
  ['keyboard', 'Keyboard'],
  ['media-keys', 'MediaKeys'],
  ['screensaver-proxy', 'ScreensaverProxy'],
  ['sharing', 'Sharing'],
  ['sound', 'Sound'],
  ['xsettings', 'XSettings']
]

if enable_smartcard
  enabled_plugins += [['smartcard', 'Smartcard']]
endif

if enable_wacom
  enabled_plugins += [['wacom', 'Wacom']]
endif

if enable_cups
  enabled_plugins += [['print-notifications', 'PrintNotifications']]
endif

if enable_rfkill
  enabled_plugins += [['rfkill', 'Rfkill']]
endif

plugins_conf = configuration_data()
plugins_conf.set('libexecdir', gsd_libexecdir)

plugins_deps = [libgsd_dep]

plugins_cflags = ['-DGNOME_SETTINGS_LOCALEDIR="@0@"'.format(gsd_localedir)]

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