diff options
Diffstat (limited to '')
-rw-r--r-- | libgdm/meson.build | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/libgdm/meson.build b/libgdm/meson.build new file mode 100644 index 0000000..3f8cafb --- /dev/null +++ b/libgdm/meson.build @@ -0,0 +1,104 @@ +libgdm_manager_dbus_gen = gnome.gdbus_codegen('gdm-manager-glue', + sources: '..' / 'daemon' / 'gdm-manager.xml', + namespace: 'Gdm', + interface_prefix: 'org.gnome.DisplayManager', + autocleanup: 'all', + annotations: [ + [ 'org.gnome.DisplayManager.Manager', 'org.gtk.GDBus.C.Name', 'Manager' ], + ], + build_by_default: true, +) +libgdm_client_dbus_gen = gnome.gdbus_codegen('gdm-client-glue', + sources: '..' / 'daemon' / 'gdm-session.xml', + namespace: 'Gdm', + interface_prefix: 'org.gnome.DisplayManager', + autocleanup: 'all', + annotations: [ + [ 'org.gnome.DisplayManager.UserVerifier', 'org.gtk.GDBus.C.Name', 'UserVerifier' ], + [ 'org.gnome.DisplayManager.Greeter', 'org.gtk.GDBus.C.Name', 'Greeter' ], + [ 'org.gnome.DisplayManager.RemoteGreeter', 'org.gtk.GDBus.C.Name', 'RemoteGreeter' ], + [ 'org.gnome.DisplayManager.Chooser', 'org.gtk.GDBus.C.Name', 'Chooser' ], + ], + build_by_default: true, + install_header: true, + install_dir: get_option('includedir') / meson.project_name() +) + +libgdm_built_sources = [ + libgdm_manager_dbus_gen, + libgdm_client_dbus_gen, +] + +libgdm_sources = files( + 'gdm-client.c', + 'gdm-sessions.c', + 'gdm-user-switching.c', +) + +libgdm_public_headers = [ + 'gdm-client.h', + 'gdm-sessions.h', + 'gdm-user-switching.h', + # gdm-client-glue.h is automatically installed +] + +install_headers(libgdm_public_headers, + subdir: meson.project_name(), +) + +libgdm_headers = [ + libgdm_public_headers, + libgdm_client_dbus_gen[1], + libgdm_manager_dbus_gen[1], +] + +libgdm_deps = [ + glib_dep, + gio_dep, + gio_unix_dep, + libsystemd_dep, + libgdmcommon_dep, +] + +libgdm_link_flags = [ + '-Wl,--version-script,@0@/libgdm.map'.format(meson.current_source_dir()), +] + +libgdm = library('gdm', + libgdm_sources + libgdm_built_sources, + version: '1.0.0', + dependencies: libgdm_deps, + include_directories: config_h_dir, + link_args: libgdm_link_flags, + install: true, +) + +libgdm_gir_includes = [ + 'GLib-2.0', + 'GObject-2.0', + 'Gio-2.0', +] + +libgdm_dep = declare_dependency( + link_with: libgdm, + dependencies: libgdm_deps, + include_directories: include_directories('.'), + sources: libgdm_built_sources, +) + +libgdm_gir = gnome.generate_gir(libgdm, + sources: libgdm_headers + libgdm_sources, + namespace: 'Gdm', + nsversion: '1.0', + identifier_prefix: 'Gdm', + includes: libgdm_gir_includes, + install: true, +) + +# Pkg-config file +pkgconfig.generate(libgdm, + name: 'GDM Client Library', + description: 'Client Library for communicating with GDM daemon', + filebase: meson.project_name(), + requires: gobject_dep, +) |