summaryrefslogtreecommitdiff
path: root/libgnome-desktop
diff options
context:
space:
mode:
authorEmmanuele Bassi <ebassi@gnome.org>2021-10-29 16:18:28 +0100
committerEmmanuele Bassi <ebassi@gnome.org>2021-11-19 13:16:25 +0000
commitb8464ec126670c54dc6dd3379463131fe9e1541b (patch)
treedee48c6a30e0fae6a19f7fb204f8cbc36a24fc40 /libgnome-desktop
parent7c51cdc202796e28c573b45c727e5714e99085a9 (diff)
downloadgnome-desktop-b8464ec126670c54dc6dd3379463131fe9e1541b.tar.gz
Add libgnome-desktop-ui-4
Now that we split the non-GUI bits of libgnome-desktop into their own library, we can provide a library for GUI ones. For the time being, this is all still using GTK 3.
Diffstat (limited to 'libgnome-desktop')
-rw-r--r--libgnome-desktop/meson.build84
-rw-r--r--libgnome-desktop/ui-symbol.map6
2 files changed, 90 insertions, 0 deletions
diff --git a/libgnome-desktop/meson.build b/libgnome-desktop/meson.build
index ab0819b0..1e652c5a 100644
--- a/libgnome-desktop/meson.build
+++ b/libgnome-desktop/meson.build
@@ -150,6 +150,90 @@ libgnome_desktop_base_dep = declare_dependency(
],
)
+### gnome-desktop-ui
+ui_ldflags = []
+ui_symbol_map = '-Wl,--version-script=@0@'.format(meson.current_source_dir() / 'ui-symbol.map')
+if cc.has_link_argument(ui_symbol_map)
+ ui_ldflags += ui_symbol_map
+endif
+
+libgnome_desktop_ui_sources = [
+ 'gnome-bg.c',
+ 'gnome-bg-slide-show.c',
+ 'gnome-bg-crossfade.c',
+ 'gnome-rr.c',
+ 'gnome-rr-config.c',
+ 'gnome-rr-output-info.c',
+]
+
+libgnome_desktop_ui_headers = [
+ 'gnome-bg.h',
+ 'gnome-bg-crossfade.h',
+ 'gnome-bg-slide-show.h',
+ 'gnome-rr.h',
+ 'gnome-rr-config.h',
+]
+
+install_headers(libgnome_desktop_ui_headers,
+ subdir: 'gnome-desktop-4.0/libgnome-desktop-ui'
+)
+
+ui_deps = [
+ libgnome_desktop_base_dep,
+ gtk3_dep,
+]
+
+libgnome_desktop_ui = library('gnome-desktop-ui-4',
+ sources: [
+ libgnome_desktop_ui_sources,
+ dbus_xrandr_built_sources,
+ ],
+ dependencies: ui_deps,
+ soversion: 0,
+ version: libversion,
+ c_args: libargs,
+ link_args: ui_ldflags,
+ install: true,
+ include_directories: [
+ include_directories('.'),
+ include_directories('..'),
+ ],
+)
+
+libgnome_desktop_ui_gir = gnome.generate_gir(libgnome_desktop_ui,
+ sources: [libgnome_desktop_ui_headers, libgnome_desktop_ui_sources],
+ export_packages: 'gnome-desktop-ui-4',
+ namespace: 'GnomeDesktopUI',
+ nsversion: '4.0',
+ includes: [libgnome_desktop_base_gir[0], 'Gtk-3.0'],
+ extra_args: ['-DGNOME_DESKTOP_USE_UNSTABLE_API', '--quiet', '--warn-all'],
+ identifier_prefix: 'Gnome',
+ symbol_prefix: 'gnome',
+ install: true,
+)
+
+libgnome_desktop_ui_dep = declare_dependency(
+ sources: [
+ libgnome_desktop_ui_gir,
+ ],
+ dependencies: ui_deps,
+ link_with: libgnome_desktop_ui,
+ include_directories: [
+ include_directories('.'),
+ include_directories('..'),
+ ],
+)
+
+pkg.generate(
+ libgnome_desktop_ui,
+ requires: ['gsettings-desktop-schemas'],
+ version: meson.project_version(),
+ name: 'gnome-desktop-ui-4',
+ filebase: 'gnome-desktop-ui-4',
+ description: 'GUI utility library for GNOME desktop components',
+ subdirs: 'gnome-desktop-4.0',
+)
+
### Legacy ###
introspection_sources = [
diff --git a/libgnome-desktop/ui-symbol.map b/libgnome-desktop/ui-symbol.map
new file mode 100644
index 00000000..671c1560
--- /dev/null
+++ b/libgnome-desktop/ui-symbol.map
@@ -0,0 +1,6 @@
+{
+global:
+ gnome_*;
+local:
+ *;
+};