diff options
Diffstat (limited to 'monitor/meson.build')
-rw-r--r-- | monitor/meson.build | 70 |
1 files changed, 61 insertions, 9 deletions
diff --git a/monitor/meson.build b/monitor/meson.build index f841bdce..53e18806 100644 --- a/monitor/meson.build +++ b/monitor/meson.build @@ -1,21 +1,73 @@ subdir('proxy') -if enable_udisks2 - subdir('udisks2') +# [[service name suffix, install monitor test data]] +monitors = [] + +if enable_afc + monitors += [['Afc', true]] endif -if enable_gphoto2 - subdir('gphoto2') +if enable_goa + monitors += [['Goa', false]] endif -if enable_afc - subdir('afc') +if enable_gphoto2 + monitors += [['GPhoto2', true]] endif if enable_mtp - subdir('mtp') + monitors += [['MTP', false]] endif -if enable_goa - subdir('goa') +if enable_udisks2 + monitors += [['UDisks2', true]] endif + +monitors_test_data = [] +foreach monitor: monitors + monitor_name = monitor[0].to_lower() + + dbus_service = '@0@.@1@VolumeMonitor'.format(gvfs_namespace, monitor[0]) + dbus_exec = 'gvfs-@0@-volume-monitor'.format(monitor_name) + dbus_systemd_service = '' + + if install_systemd_user_unit_dir + service = dbus_exec + '.service' + + configure_file( + input: join_paths(monitor_name, service + '.in'), + output: service, + install: true, + install_dir: systemd_user_unit_dir, + configuration: service_conf + ) + + dbus_systemd_service = 'SystemdService=' + service + endif + + monitor_data = files(join_paths(monitor_name, monitor_name + '.monitor')) + + install_data( + monitor_data, + install_dir: gvfs_remote_volume_monitors_dir + ) + + dbus_service_conf = configuration_data() + dbus_service_conf.set('service', dbus_service) + dbus_service_conf.set('exec', join_paths(gvfs_libexecdir, dbus_exec)) + dbus_service_conf.set('systemd_service', dbus_systemd_service) + + monitor_service = configure_file( + input: dbus_service_in, + output: dbus_service + '.service', + install: true, + install_dir: dbus_service_dir, + configuration: dbus_service_conf + ) + + if monitor[1] + monitors_test_data += [monitor_data, monitor_service] + endif + + subdir(monitor_name) +endforeach |