diff options
author | Iñigo Martínez <inigomartinez@gmail.com> | 2018-02-01 08:35:23 +0100 |
---|---|---|
committer | Bastien Nocera <hadess@hadess.net> | 2018-02-05 17:42:49 +0100 |
commit | f180fc7cd655d29d6fdae7e71e2cb6bc8672e823 (patch) | |
tree | c7552bdd1780262b13f4458cbbff1302b6016c0a /plugins | |
parent | 8351ff4d451da2004efc36a205e369b3207ecfe6 (diff) | |
download | gnome-settings-daemon-f180fc7cd655d29d6fdae7e71e2cb6bc8672e823.tar.gz |
build: Port to meson build system
meson is a build system focused on speed an ease of use, which
helps speeding up the software development. This patch adds meson
support along autotools.
https://bugzilla.gnome.org/show_bug.cgi?id=793087
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/a11y-settings/meson.build | 29 | ||||
-rw-r--r-- | plugins/clipboard/meson.build | 31 | ||||
-rw-r--r-- | plugins/color/meson.build | 63 | ||||
-rw-r--r-- | plugins/common/meson.build | 89 | ||||
-rw-r--r-- | plugins/datetime/meson.build | 49 | ||||
-rw-r--r-- | plugins/dummy/meson.build | 47 | ||||
-rw-r--r-- | plugins/housekeeping/meson.build | 49 | ||||
-rw-r--r-- | plugins/keyboard/meson.build | 30 | ||||
-rw-r--r-- | plugins/media-keys/meson.build | 66 | ||||
-rw-r--r-- | plugins/meson.build | 48 | ||||
-rw-r--r-- | plugins/mouse/meson.build | 53 | ||||
-rw-r--r-- | plugins/power/meson.build | 154 | ||||
-rw-r--r-- | plugins/print-notifications/meson.build | 44 | ||||
-rw-r--r-- | plugins/rfkill/meson.build | 32 | ||||
-rw-r--r-- | plugins/screensaver-proxy/meson.build | 26 | ||||
-rw-r--r-- | plugins/sharing/meson.build | 33 | ||||
-rw-r--r-- | plugins/smartcard/meson.build | 58 | ||||
-rw-r--r-- | plugins/sound/meson.build | 29 | ||||
-rw-r--r-- | plugins/wacom/meson.build | 74 | ||||
-rw-r--r-- | plugins/xsettings/meson.build | 57 |
20 files changed, 1061 insertions, 0 deletions
diff --git a/plugins/a11y-settings/meson.build b/plugins/a11y-settings/meson.build new file mode 100644 index 00000000..f088466e --- /dev/null +++ b/plugins/a11y-settings/meson.build @@ -0,0 +1,29 @@ +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' +) + +deps = plugins_deps + [ + gio_dep, + gsettings_desktop_dep +] + +executable( + 'gsd-' + plugin_name, + sources, + include_directories: [top_inc, common_inc], + dependencies: deps, + c_args: cflags, + install: true, + install_dir: gsd_libexecdir +) diff --git a/plugins/clipboard/meson.build b/plugins/clipboard/meson.build new file mode 100644 index 00000000..df25cc7a --- /dev/null +++ b/plugins/clipboard/meson.build @@ -0,0 +1,31 @@ +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', + 'main.c', + 'xutils.c' +) + +deps = plugins_deps + [ + gtk_x11_dep, + x11_dep +] + +executable( + 'gsd-' + plugin_name, + sources, + include_directories: [top_inc, common_inc], + dependencies: deps, + c_args: cflags, + install: true, + install_dir: gsd_libexecdir +) diff --git a/plugins/color/meson.build b/plugins/color/meson.build new file mode 100644 index 00000000..f026c0a6 --- /dev/null +++ b/plugins/color/meson.build @@ -0,0 +1,63 @@ +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', + 'gsd-color-calibrate.c', + 'gsd-color-manager.c', + 'gsd-color-profiles.c', + 'gsd-color-state.c', + 'gsd-night-light.c', + 'gsd-night-light-common.c', + 'main.c' +) + +deps = plugins_deps + [ + colord_dep, + gnome_desktop_dep, + lcms_dep, + libcanberra_gtk_dep, + libgeoclue_dep, + libnotify_dep, + m_dep, +] + +cflags += ['-DBINDIR="@0@"'.format(gsd_bindir)] + +executable( + 'gsd-' + plugin_name, + sources, + include_directories: [top_inc, common_inc], + dependencies: deps, + c_args: cflags, + install: true, + install_dir: gsd_libexecdir +) + +sources = files( + 'gcm-edid.c', + 'gcm-self-test.c', + 'gnome-datetime-source.c', + 'gsd-night-light.c', + 'gsd-night-light-common.c' +) + +test_unit = 'gcm-self-test' + +exe = executable( + test_unit, + sources, + include_directories: top_inc, + dependencies: deps, + c_args: '-DTESTDATADIR="@0@"'.format(join_paths(meson.current_source_dir(), 'test-data')) +) + +test(test_unit, exe) diff --git a/plugins/common/meson.build b/plugins/common/meson.build new file mode 100644 index 00000000..2a0f4b28 --- /dev/null +++ b/plugins/common/meson.build @@ -0,0 +1,89 @@ +common_inc = include_directories('.') + +sources = files( + 'gsd-device-manager.c', + 'gsd-device-manager-x11.c', + 'gsd-device-mapper.c', + 'gsd-input-helper.c', + 'gsd-settings-migrate.c', + 'gsd-shell-helper.c' +) + +enums_header = 'gsd-device-manager.h' + +enums = 'gsd-common-enums' + +sources += gnome.mkenums( + enums + '.h', + sources: enums_header, + fhead: '#ifndef GSD_COMMON_ENUMS_H\n#define GSD_COMMON_ENUMS_H\n\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n', + fprod: '/* enumerations from "@filename@" */\n', + vhead: 'GType @enum_name@_get_type (void) G_GNUC_CONST;\n#define GSD_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n', + ftail: 'G_END_DECLS\n\n#endif /* !GSD_COMMON_ENUMS_H */' +) + +sources += gnome.mkenums( + enums + '.c', + sources: enums_header, + fhead: '#include "gsd-device-manager.h"\n#include "gsd-common-enums.h"\n', + fprod: '\n/* enumerations from "@filename@" */', + vhead: 'GType\n@enum_name@_get_type (void)\n{\n static GType etype = 0;\n if (etype == 0) {\n static const G@Type@Value values[] = {', + vprod: ' { @VALUENAME@, "@VALUENAME@", "@valuenick@" },', + vtail: ' { 0, NULL, NULL }\n };\n etype = g_@type@_register_static ("@EnumName@", values);\n }\n return etype;\n}\n' +) + +resource_data = files('gtk.css') + +sources += gnome.compile_resources( + 'gsd-resources', + 'gsd.gresources.xml', + c_name: 'gsd', + dependencies: resource_data +) + +deps = plugins_deps + [ + gnome_desktop_dep, + gtk_x11_dep, + x11_dep, + dependency('kbproto'), + dependency('xi') +] + +ldflags = [] +if host_is_darwin + ldflags += ['-Wl,-bundle_loader,@0@'.format(join_paths(), meson.build_root(), meson.project_name(), meson.project_name())] +endif + +if enable_gudev + sources += files('gsd-device-manager-udev.c') + + deps += gudev_dep +endif + +if enable_wacom + deps += libwacom_dep +endif + +libcommon = shared_module( + plugin_name, + sources: sources, + include_directories: [top_inc, data_inc], + dependencies: deps, + c_args: cflags, + link_args: ldflags +) + +libcommon_dep = declare_dependency( + include_directories: common_inc, + link_with: libcommon +) + +executable( + 'gsd-test-input-helper', + 'test-input-helper.c', + include_directories: top_inc, + dependencies: gtk_dep, + link_with: libcommon, + install: true, + install_dir: gsd_libexecdir +) diff --git a/plugins/datetime/meson.build b/plugins/datetime/meson.build new file mode 100644 index 00000000..a21d48f4 --- /dev/null +++ b/plugins/datetime/meson.build @@ -0,0 +1,49 @@ +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') +) + +sources = files( + 'gsd-datetime-manager.c', + 'gsd-timezone-monitor.c', + 'main.c', + 'tz.c', + 'weather-tz.c' +) + +sources += gnome.gdbus_codegen( + 'timedated', + 'timedated1-interface.xml', + interface_prefix: 'org.freedesktop.' +) + +deps = plugins_deps + [ + geocode_glib_dep, + gweather_dep, + libgeoclue_dep, + libnotify_dep, + m_dep, + polkit_gobject_dep +] + +cflags += ['-DGNOMECC_DATA_DIR="@0@"'.format(gsd_pkgdatadir)] + +executable( + 'gsd-' + plugin_name, + sources, + include_directories: [top_inc, common_inc], + dependencies: deps, + c_args: cflags, + install: true, + install_dir: gsd_libexecdir +) diff --git a/plugins/dummy/meson.build b/plugins/dummy/meson.build new file mode 100644 index 00000000..a4e76187 --- /dev/null +++ b/plugins/dummy/meson.build @@ -0,0 +1,47 @@ +desktops = [] +if not enable_smartcard + desktops += ['org.gnome.SettingsDaemon.Smartcard'] +endif + +if not enable_cups + desktops += ['org.gnome.SettingsDaemon.PrintNotifications'] +endif + +if not enable_rfkill + desktops += ['org.gnome.SettingsDaemon.Rfkill'] +endif + +if not enable_wacom + desktops += ['org.gnome.SettingsDaemon.Wacom'] +endif + +foreach desktop: desktops + dummy_conf = configuration_data() + dummy_conf.set('libexecdir', gsd_libexecdir) + dummy_conf.set('pluginname', desktop) + + configure_file( + input: 'org.gnome.SettingsDaemon.Dummy.desktop.in', + output: desktop + '.desktop', + configuration: dummy_conf, + install: true, + install_dir: gsd_xdg_autostart + ) +endforeach + +sources = files( + 'gsd-dummy-manager.c', + 'main.c' +) + +deps = plugins_deps + [gio_dep] + +executable( + 'gsd-' + plugin_name, + sources, + include_directories: [top_inc, common_inc], + dependencies: deps, + c_args: cflags, + install: true, + install_dir: gsd_libexecdir +) diff --git a/plugins/housekeeping/meson.build b/plugins/housekeeping/meson.build new file mode 100644 index 00000000..bc743705 --- /dev/null +++ b/plugins/housekeeping/meson.build @@ -0,0 +1,49 @@ +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' +) + +sources = common_files + files( + 'gsd-housekeeping-manager.c', + 'main.c' +) + +deps = plugins_deps + [ + gtk_dep, + libnotify_dep +] + +executable( + 'gsd-' + plugin_name, + sources, + include_directories: [top_inc, common_inc], + dependencies: deps, + c_args: cflags, + install: true, + install_dir: gsd_libexecdir +) + +programs = [ + 'gsd-disk-space-test', + 'gsd-empty-trash-test', + 'gsd-purge-temp-test' +] + +foreach program: programs + executable( + program, + common_files + [program + '.c'], + include_directories: top_inc, + dependencies: deps + ) +endforeach diff --git a/plugins/keyboard/meson.build b/plugins/keyboard/meson.build new file mode 100644 index 00000000..413424a5 --- /dev/null +++ b/plugins/keyboard/meson.build @@ -0,0 +1,30 @@ +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' +) + +deps = plugins_deps + [ + gtk_dep, + libcommon_dep, + x11_dep +] + +executable( + 'gsd-' + plugin_name, + sources, + include_directories: [top_inc, data_inc], + dependencies: deps, + c_args: cflags, + install: true, + install_dir: gsd_libexecdir +) diff --git a/plugins/media-keys/meson.build b/plugins/media-keys/meson.build new file mode 100644 index 00000000..18696e96 --- /dev/null +++ b/plugins/media-keys/meson.build @@ -0,0 +1,66 @@ +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', + 'gsd-screenshot-utils.c', + 'main.c', + 'mpris-controller.c' +) + +marshal = 'gsd-marshal' + +sources += gnome.genmarshal( + marshal, + sources: marshal + '.list', + prefix: marshal.underscorify(), + internal: true +) + +sources += gnome.gdbus_codegen( + 'shell-key-grabber', + 'org.gnome.ShellKeyGrabber.xml', + interface_prefix: 'org.gnome.', + namespace: 'Shell' +) + +deps = plugins_deps + [ + gsettings_desktop_dep, + libcanberra_gtk_dep, + libcommon_dep, + libgvc_dep, + libpulse_mainloop_glib_dep, + m_dep, + upower_glib_dep +] + +if enable_gudev + deps += gudev_dep +endif + +executable( + 'gsd-' + plugin_name, + sources, + include_directories: [top_inc, data_inc], + dependencies: deps, + c_args: cflags, + install: true, + install_dir: gsd_libexecdir +) + +program = 'audio-selection-test' + +executable( + program, + program + '.c', + include_directories: top_inc, + dependencies: deps +) diff --git a/plugins/meson.build b/plugins/meson.build new file mode 100644 index 00000000..6babd8ec --- /dev/null +++ b/plugins/meson.build @@ -0,0 +1,48 @@ +enabled_plugins = [ + 'a11y-settings', + 'clipboard', + 'color', + 'datetime', + 'dummy', + 'power', + 'housekeeping', + 'keyboard', + 'media-keys', + 'mouse', + 'screensaver-proxy', + 'sharing', + 'sound', + 'xsettings' +] + +if enable_smartcard + enabled_plugins += ['smartcard'] +endif + +if enable_wacom + enabled_plugins += ['wacom'] +endif + +if enable_cups + enabled_plugins += ['print-notifications'] +endif + +if enable_rfkill + enabled_plugins += ['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_name: ['common'] + enabled_plugins + cflags = [ + '-DG_LOG_DOMAIN="@0@-plugin"'.format(plugin_name), + '-DPLUGIN_NAME="@0@"'.format(plugin_name), + ] + plugins_cflags + + subdir(plugin_name) +endforeach diff --git a/plugins/mouse/meson.build b/plugins/mouse/meson.build new file mode 100644 index 00000000..a01d2758 --- /dev/null +++ b/plugins/mouse/meson.build @@ -0,0 +1,53 @@ +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' +) + +deps = plugins_deps + [ + gio_dep, + gsettings_desktop_dep, + libcommon_dep, + m_dep +] + +cflags += ['-DLIBEXECDIR="@0@"'.format(gsd_libexecdir)] + +executable( + 'gsd-' + plugin_name, + sources, + include_directories: [top_inc, data_inc], + dependencies: deps, + c_args: cflags, + install: true, + install_dir: gsd_libexecdir +) + +sources = files( + 'gsd-locate-pointer.c', + 'gsd-timeline.c' +) + +deps = [ + gtk_dep, + m_dep, + x11_dep +] + +executable( + 'gsd-locate-pointer', + sources, + include_directories: top_inc, + dependencies: deps, + install: true, + install_dir: gsd_libexecdir +) diff --git a/plugins/power/meson.build b/plugins/power/meson.build new file mode 100644 index 00000000..652ce40c --- /dev/null +++ b/plugins/power/meson.build @@ -0,0 +1,154 @@ +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', + 'gsd-power-manager.c', + 'main.c' +) + +deps = plugins_deps + [ + libcanberra_gtk_dep, + libcommon_dep, + libnotify_dep, + gnome_desktop_dep, + m_dep, + upower_glib_dep, + x11_dep, + xtst_dep, + dependency('xext') +] + +if enable_gudev + deps += gudev_dep +endif + +cflags += ['-DLIBEXECDIR="@0@"'.format(gsd_libexecdir)] + +gsd_power = executable( + 'gsd-' + plugin_name, + sources, + include_directories: [top_inc, data_inc], + dependencies: deps, + c_args: cflags, + install: true, + install_dir: gsd_libexecdir +) + +sources = files('gsd-power-enums-update.c') + +enums_headers = files( + 'gsm-inhibitor-flag.h', + 'gsm-presence-flag.h' +) + +enums = 'gsd-power-enums' + +sources += gnome.mkenums( + enums + '.h', + sources: enums_headers, + fhead: '#ifndef GSD_POWER_ENUMS_H\n#define GSD_POWER_ENUMS_H\n\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n', + fprod: '/* enumerations from "@filename@" */\n', + vhead: 'GType @enum_name@_get_type (void) G_GNUC_CONST;\n#define GSD_POWER_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n', + ftail: 'G_END_DECLS\n\n#endif /* !GSD_POWER_ENUMS_H */' +) + +sources += gnome.mkenums( + enums + '.c', + sources: enums_headers, + fhead: '#include "gsm-inhibitor-flag.h"\n#include "gsm-presence-flag.h"\n#include "gsd-power-enums.h"', + fprod: '\n/* enumerations from "@filename@" */', + vhead: 'GType\n@enum_name@_get_type (void)\n{\n static GType etype = 0;\n if (etype == 0) {\n static const G@Type@Value values[] = {', + vprod: ' { @VALUENAME@, "@VALUENAME@", "@valuenick@" },', + vtail: ' { 0, NULL, NULL }\n };\n etype = g_@type@_register_static ("@EnumName@", values);\n }\n return etype;\n}\n' +) + +gsd_power_enums_update = executable( + 'gsd-power-enums-update', + sources, + include_directories: top_inc, + dependencies: deps, + c_args: cflags +) + +if enable_gudev + policy = 'org.gnome.settings-daemon.plugins.power.policy' + + policy_in = configure_file( + input: policy + '.in.in', + output: policy + '.in', + configuration: plugins_conf + ) + + custom_target( + policy, + input: policy_in, + output: policy, + command: intltool_xml_cmd, + install: true, + install_dir: join_paths(gsd_datadir, 'polkit-1', 'actions') + ) + + sources = files( + 'gsd-backlight-helper.c', + 'gsd-backlight-linux.c' + ) + + deps = [ + gudev_dep, + m_dep + ] + + executable( + 'gsd-backlight-helper', + sources, + include_directories: top_inc, + dependencies: deps, + install: true, + install_dir: gsd_libexecdir + ) +endif + +output = 'gsdpowerconstants.py' + +gsdpowerconstants_py = custom_target( + output, + input: 'gsd-power-constants.h', + output: output, + build_by_default: true, + command: [join_paths(meson.current_source_dir(), 'gsd-power-constants-update.pl'), '@INPUT@', '@OUTPUT@'] +) + +output = 'gsdpowerenums.py' + +gsdpowerenums_py = custom_target( + output, + output: output, + capture: true, + build_by_default: true, + command: [gsd_power_enums_update] +) + +test_py = find_program('test.py') + +envs = [ + 'BUILDDIR=' + meson.current_build_dir(), + 'TOP_BUILDDIR=' + meson.build_root() +] + +test( + 'test-power', + test_py, +# args: 'PowerPluginTest.test_sleep_inactive_blank', + env: envs, + timeout: 300 +) + diff --git a/plugins/print-notifications/meson.build b/plugins/print-notifications/meson.build new file mode 100644 index 00000000..241f305b --- /dev/null +++ b/plugins/print-notifications/meson.build @@ -0,0 +1,44 @@ +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' +) + +deps = plugins_deps + [ + cups_dep, + gtk_dep, + libnotify_dep +] + +cflags += ['-DLIBEXECDIR="@0@"'.format(gsd_libexecdir)] + +executable( + 'gsd-' + plugin_name, + sources, + include_directories: [top_inc, common_inc], + dependencies: deps, + c_args: cflags, + install: true, + install_dir: gsd_libexecdir +) + +program = 'gsd-printer' + +executable( + program, + program + '.c', + include_directories: top_inc, + dependencies: deps, + c_args: '-DGNOME_SETTINGS_LOCALEDIR="@0@"'.format(gsd_localedir), + install: true, + install_dir: gsd_libexecdir +) diff --git a/plugins/rfkill/meson.build b/plugins/rfkill/meson.build new file mode 100644 index 00000000..8a4d094d --- /dev/null +++ b/plugins/rfkill/meson.build @@ -0,0 +1,32 @@ +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') +) + +sources = files( + 'gsd-rfkill-manager.c', + 'rfkill-glib.c', + 'main.c' +) + +deps = plugins_deps + [gio_unix_dep] + +executable( + 'gsd-' + plugin_name, + sources, + include_directories: [top_inc, common_inc], + dependencies: deps, + c_args: cflags, + install: true, + install_dir: gsd_libexecdir +) diff --git a/plugins/screensaver-proxy/meson.build b/plugins/screensaver-proxy/meson.build new file mode 100644 index 00000000..dda0fed4 --- /dev/null +++ b/plugins/screensaver-proxy/meson.build @@ -0,0 +1,26 @@ +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' +) + +deps = plugins_deps + [gio_dep] + +executable( + 'gsd-' + plugin_name, + sources, + include_directories: [top_inc, common_inc], + dependencies: deps, + c_args: cflags, + install: true, + install_dir: gsd_libexecdir +) diff --git a/plugins/sharing/meson.build b/plugins/sharing/meson.build new file mode 100644 index 00000000..5ab82652 --- /dev/null +++ b/plugins/sharing/meson.build @@ -0,0 +1,33 @@ +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' +) + +deps = plugins_deps + [ + gio_unix_dep, + libnotify_dep +] + +if enable_network_manager + deps += libnm_dep +endif + +executable( + 'gsd-' + plugin_name, + sources, + include_directories: [top_inc, common_inc], + dependencies: deps, + c_args: cflags, + install: true, + install_dir: gsd_libexecdir +) diff --git a/plugins/smartcard/meson.build b/plugins/smartcard/meson.build new file mode 100644 index 00000000..da256e25 --- /dev/null +++ b/plugins/smartcard/meson.build @@ -0,0 +1,58 @@ +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', + 'gsd-smartcard-utils.c', + 'main.c' +) + +enum_headers = files( + 'gsd-smartcard-manager.h', + 'gsd-smartcard-utils.h' +) + +enum_types = 'gsd-smartcard-enum-types' + +sources += gnome.mkenums( + enum_types, + sources: enum_headers, + c_template: enum_types + '.c.in', + h_template: enum_types + '.h.in' +) + +gdbus = 'org.gnome.SettingsDaemon.Smartcard' + +sources += gnome.gdbus_codegen( + gdbus, + gdbus + '.xml', + interface_prefix: gdbus + '.', + namespace: 'GsdSmartcardService', + object_manager: true +) + +deps = plugins_deps + [ + gio_unix_dep, + libnotify_dep, + nss_dep +] + +cflags += ['-DGSD_SMARTCARD_MANAGER_NSS_DB="@0@"'.format(system_nssdb_dir)] + +executable( + 'gsd-' + plugin_name, + sources, + include_directories: [top_inc, common_inc], + dependencies: deps, + c_args: cflags, + install: true, + install_dir: gsd_libexecdir +) diff --git a/plugins/sound/meson.build b/plugins/sound/meson.build new file mode 100644 index 00000000..acba4371 --- /dev/null +++ b/plugins/sound/meson.build @@ -0,0 +1,29 @@ +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' +) + +deps = plugins_deps + [ + gio_dep, + libpulse_mainloop_glib_dep +] + +executable( + 'gsd-' + plugin_name, + sources, + include_directories: [top_inc, common_inc], + dependencies: deps, + c_args: cflags, + install: true, + install_dir: gsd_libexecdir +) diff --git a/plugins/wacom/meson.build b/plugins/wacom/meson.build new file mode 100644 index 00000000..064b5764 --- /dev/null +++ b/plugins/wacom/meson.build @@ -0,0 +1,74 @@ +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( + input: policy + '.in.in', + output: policy + '.in', + configuration: plugins_conf +) + +custom_target( + policy, + input: policy_in, + output: policy, + command: intltool_xml_cmd, + install: true, + install_dir: join_paths(gsd_datadir, 'polkit-1', 'actions') +) + +sources = files( + 'gsd-wacom-manager.c', + 'gsd-wacom-oled.c', + 'main.c' +) + +deps = plugins_deps + [ + gtk_dep, + libcommon_dep, + m_dep, + pango_dep +] + +cflags += ['-DLIBEXECDIR="@0@"'.format(gsd_libexecdir)] + +executable( + 'gsd-' + plugin_name, + sources, + include_directories: [top_inc, data_inc], + dependencies: deps, + c_args: cflags, + install: true, + install_dir: gsd_libexecdir +) + +if enable_gudev + deps = [ + gudev_dep, + m_dep + ] + + programs = [ + 'gsd-wacom-led-helper', + 'gsd-wacom-oled-helper', + ] + + foreach program: programs + executable( + program, + program + '.c', + include_directories: top_inc, + dependencies: deps, + install: true, + install_dir: gsd_libexecdir + ) + endforeach +endif diff --git a/plugins/xsettings/meson.build b/plugins/xsettings/meson.build new file mode 100644 index 00000000..6cfb8f7a --- /dev/null +++ b/plugins/xsettings/meson.build @@ -0,0 +1,57 @@ +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') + +wm_button_layout_translation = files('wm-button-layout-translation.c') + +sources = gsd_xsettings_gtk + fc_monitor + wm_button_layout_translation + files( + 'gsd-remote-display-manager.c', + 'gsd-xsettings-manager.c', + 'xsettings-common.c', + 'xsettings-manager.c', + 'main.c' +) + +deps = plugins_deps + [ + gtk_dep, + x11_dep, + dependency('fontconfig') +] + +cflags += ['-DGTK_MODULES_DIRECTORY="@0@"'.format(join_paths(gsd_pkglibdir, 'gtk-modules'))] + +executable( + 'gsd-' + plugin_name, + sources, + include_directories: [top_inc, common_inc, data_inc], + dependencies: deps, + c_args: cflags, + install: true, + install_dir: gsd_libexecdir +) + +programs = [ + ['test-gtk-modules', gsd_xsettings_gtk + ['test-gtk-modules.c'], cflags], + ['test-fontconfig-monitor', fc_monitor, cflags + ['-DFONTCONFIG_MONITOR_TEST']], + ['test-wm-button-layout-translations', wm_button_layout_translation + ['test-wm-button-layout-translations.c'], []] +] + +foreach program: programs + executable( + program[0], + program[1], + include_directories: top_inc, + dependencies: deps, + c_args: program[2] + ) +endforeach |