bash = find_program('bash') dbus_interfaces = ['Manager', 'Device'] dbus_interfaces_files = [] foreach interface_name: dbus_interfaces interface = interface_name.to_lower() interface_file = interface + '.xml' dbus_interfaces_files += custom_target('dbus_interface_' + interface, input: interface_file, output: 'net.reactivated.Fprint.@0@.xml'.format(interface_name), command: ['cp', '@INPUT@', '@OUTPUT@'], install: true, install_dir: dbus_interfaces_dir, ) endforeach # NOTE: We should pass "--glib-min-required 2.64" but cannot fprintd_dbus_sources_base = gnome.gdbus_codegen('fprintd-dbus', sources: dbus_interfaces_files, autocleanup: 'all', interface_prefix: 'net.reactivated.Fprint.', namespace: 'FprintDBus', object_manager: true, ) # FIXME: remove this and just use fprintd_dbus_sources when we're on glib 2.64 fprintd_dbus_sources = [ fprintd_dbus_sources_base[1] # header file ] fprintd_dbus_sources += custom_target('fprintd-dbus-interactive', input: fprintd_dbus_sources_base[0], # c file, output: 'fprintd-dbus-interactive.c', command: [ find_program('patch'), '-p1', '--merge', '@INPUT@', files('dbus-interactive-auth.patch'), '-o', '@OUTPUT@', ]) fprintd_enum_files = gnome.mkenums_simple('fprintd-enums', sources: 'fprintd.h', ) fprintd_deps = declare_dependency( include_directories: [ include_directories('..'), ], sources: [ fprintd_enum_files, fprintd_dbus_sources, ], dependencies: [ glib_dep, gio_dep, gio_unix_dep, gmodule_dep, libfprint_dep, polkit_gobject_dep, ], compile_args: [ '-DG_LOG_DOMAIN="@0@"'.format(meson.project_name()), '-DLOCALEDIR="@0@"'.format(localedir), '-DPLUGINDIR="@0@"'.format(fprintd_plugindir), ], ) libfprintd_private = static_library('fprintd-private', sources: [ 'device.c', 'fprintd.h', 'manager.c', ], dependencies: fprintd_deps, gnu_symbol_visibility: 'hidden', ) fprintd = executable('fprintd', sources: [ 'file_storage.c', 'file_storage.h', 'fprintd.h', 'main.c', 'storage.h', ], dependencies: fprintd_deps, link_with: libfprintd_private, gnu_symbol_visibility: 'hidden', install: true, install_dir: fprintd_installdir, )