meson: override dependencies to ease use as subproject

Make it easier to use Wayland as a Meson subproject by overriding
dependencies we define. This allows to easily build Wayland as a
subproject like so:

    subproject('wayland', required: false, default_options: ['documentation=false'])

After this statement, the wayland-* dependencies will use the subproject
instead of the system if available.

Signed-off-by: Simon Ser <contact@emersion.fr>
This commit is contained in:
Simon Ser 2021-12-08 00:27:58 +01:00
parent 28c2d8321b
commit ba82e0d806
3 changed files with 26 additions and 0 deletions

View File

@ -36,3 +36,12 @@ pkgconfig.generate(
libraries: wayland_cursor,
filebase: 'wayland-cursor',
)
wayland_cursor_dep = declare_dependency(
link_with: wayland_cursor,
include_directories: [ root_inc, include_directories('.') ],
)
if meson.version().version_compare('>= 0.54.0')
meson.override_dependency('wayland-cursor', wayland_cursor_dep)
endif

View File

@ -41,3 +41,12 @@ pkgconfig.generate(
description: 'Backend wayland-egl interface',
version: '3'
)
wayland_egl_dep = declare_dependency(
link_with: wayland_egl,
include_directories: [ root_inc, include_directories('.') ],
)
if meson.version().version_compare('>= 0.54.0')
meson.override_dependency('wayland-egl', wayland_egl_dep)
endif

View File

@ -207,6 +207,10 @@ if get_option('libraries')
]
)
if meson.version().version_compare('>= 0.54.0')
meson.override_dependency('wayland-server', wayland_server_dep)
endif
wayland_client = library(
'wayland-client',
sources: [
@ -251,6 +255,10 @@ if get_option('libraries')
]
)
if meson.version().version_compare('>= 0.54.0')
meson.override_dependency('wayland-client', wayland_client_dep)
endif
install_headers([
'wayland-util.h',
'wayland-server.h',