Ensure that resolution of the subproject occurs via the dependency
interface, not the "poke at subprojects manually" interface, and make
that actually work via --wrap-mode=forcefallback.
There's no need to mark it as not-required and then manually invoke
subproject(), since fallback should work correctly and it is always
needed.
However, if fallback was performed (or forced) it would error out since
get_variable() was instructed to only use pkg-config while the relevant
variable was exported by the subproject as an internal fallback
dependency.
wlclientdep = dependency('wayland-client', version: wayland_req,
fallback: 'wayland',
default_options: ['documentation=false'])
- wlprotocolsdep = dependency('wayland-protocols', version: wayland_proto_req, required: false)
+ wlprotocolsdep = dependency('wayland-protocols', version: wayland_proto_req)
wlegldep = dependency('wayland-egl',
fallback: 'wayland')
- if not wlprotocolsdep.found()
- wlproto_dir = subproject('wayland-protocols').get_variable('wayland_protocols_srcdir')
- else
- wlproto_dir = wlprotocolsdep.get_variable(pkgconfig: 'pkgdatadir')
- endif
+ wlproto_dir = wlprotocolsdep.get_variable('pkgdatadir')
wayland_pkgs = [
'wayland-client @0@'.format(wayland_req),