diff options
author | Jonas Ådahl <jadahl@gmail.com> | 2020-02-16 20:09:42 +0100 |
---|---|---|
committer | Jonas Ådahl <jadahl@gmail.com> | 2020-04-08 23:32:47 +0200 |
commit | 5425edff8282ac965888468aff31470d13ce8cd8 (patch) | |
tree | bbfd433519f161bdeab5e60f841865cc770a5e63 /meson.build | |
parent | 213c471bb7a0180b6a84854bc6bb680aac8a667d (diff) | |
download | gtk+-5425edff8282ac965888468aff31470d13ce8cd8.tar.gz |
wayland: Move popups with xdg_popup.reposition
The third version of xdg-shell introduces support for explicit popup
repositioning. If available, make use of this to implement popup
repositioning.
Note that this does *NOT* include atomic parent-child state
synchronization. For that,
https://gitlab.freedesktop.org/wayland/wayland-protocols/issues/13 will
be needed.
This currently uses my own fork of wayland-protocols which adds meson
support, so that we can use it as a subproject. Eventually when
wayland-protocols' meson support lands upstream, we should change it to
point there.
Silence some meson warnings while at it to make CI happy.
This also bumps the glib requirement, since g_warning_once() is used.
Diffstat (limited to 'meson.build')
-rw-r--r-- | meson.build | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/meson.build b/meson.build index d3b94574ab..ecf4228b40 100644 --- a/meson.build +++ b/meson.build @@ -11,8 +11,8 @@ project('gtk', 'c', license: 'LGPLv2.1+') glib_major_req = 2 -glib_minor_req = 59 -glib_micro_req = 0 +glib_minor_req = 63 +glib_micro_req = 1 if glib_minor_req.is_odd() glib_min_required = 'GLIB_VERSION_@0@_@1@'.format(glib_major_req, glib_minor_req - 1) @@ -33,7 +33,7 @@ atk_req = '>= 2.15.1' cairo_req = '>= 1.14.0' gdk_pixbuf_req = '>= 2.30.0' introspection_req = '>= 1.39.0' -wayland_proto_req = '>= 1.14' +wayland_proto_req = '>= 1.20' wayland_req = '>= 1.14.91' graphene_req = '>= 1.9.1' epoxy_req = '>= 1.4' @@ -469,10 +469,16 @@ atk_pkgs = ['atk'] wayland_pkgs = [] if wayland_enabled wlclientdep = dependency('wayland-client', version: wayland_req) - wlprotocolsdep = dependency('wayland-protocols', version: wayland_proto_req) + wlprotocolsdep = dependency('wayland-protocols', version: wayland_proto_req, required: false) wlegldep = dependency('wayland-egl') backend_immodules += ['wayland'] + if not wlprotocolsdep.found() + wlproto_dir = subproject('wayland-protocols').get_variable('wayland_protocols_srcdir') + else + wlproto_dir = wlprotocolsdep.get_pkgconfig_variable('pkgdatadir') + endif + wayland_pkgs = [ 'wayland-client', wayland_req, 'wayland-protocols', wayland_proto_req, |