mirror of
https://gitlab.freedesktop.org/wlroots/wlroots.git
synced 2025-02-16 17:22:43 +00:00
![Simon Ser](/assets/img/avatar_default.png)
The client examples are useful to try out protocols, however they don't need to live in the wlroots repository. Having both clients and compositors in the same place is confusing. The wlroots API changes often but protocols are set in stone.
69 lines
1.6 KiB
Meson
69 lines
1.6 KiB
Meson
cairo = dependency('cairo', required: false, disabler: true)
|
|
# Only needed for drm_fourcc.h
|
|
libdrm_header = dependency('libdrm').partial_dependency(compile_args: true, includes: true)
|
|
wayland_client = dependency('wayland-client', required: false, disabler: true)
|
|
wayland_egl = dependency('wayland-egl', required: false, disabler: true)
|
|
egl = dependency('egl', version: '>= 1.5', required: false, disabler: true)
|
|
glesv2 = dependency('glesv2', required: false, disabler: true)
|
|
|
|
compositors = {
|
|
'simple': {
|
|
'src': 'simple.c',
|
|
},
|
|
'pointer': {
|
|
'src': 'pointer.c',
|
|
},
|
|
'touch': {
|
|
'src': ['touch.c', 'cat.c'],
|
|
},
|
|
'tablet': {
|
|
'src': 'tablet.c',
|
|
},
|
|
'rotation': {
|
|
'src': ['rotation.c', 'cat.c'],
|
|
},
|
|
'output-layout': {
|
|
'src': ['output-layout.c', 'cat.c'],
|
|
},
|
|
'fullscreen-shell': {
|
|
'src': 'fullscreen-shell.c',
|
|
'proto': ['fullscreen-shell-unstable-v1'],
|
|
},
|
|
'scene-graph': {
|
|
'src': 'scene-graph.c',
|
|
'proto': ['xdg-shell'],
|
|
},
|
|
'output-layers': {
|
|
'src': 'output-layers.c',
|
|
'proto': [
|
|
'xdg-shell',
|
|
],
|
|
},
|
|
'cairo-buffer': {
|
|
'src': 'cairo-buffer.c',
|
|
'dep': cairo,
|
|
},
|
|
'embedded': {
|
|
'src': [
|
|
'embedded.c',
|
|
protocols_code['xdg-shell'],
|
|
protocols_client_header['xdg-shell'],
|
|
],
|
|
'dep': [wayland_client, wayland_egl, egl, glesv2],
|
|
},
|
|
}
|
|
|
|
foreach name, info : compositors
|
|
extra_src = []
|
|
foreach p : info.get('proto', [])
|
|
extra_src += protocols_server_header[p]
|
|
endforeach
|
|
|
|
executable(
|
|
name,
|
|
[info.get('src'), extra_src],
|
|
dependencies: [wlroots, libdrm_header, info.get('dep', [])],
|
|
build_by_default: get_option('examples'),
|
|
)
|
|
endforeach
|