mirror of
https://gitlab.freedesktop.org/wlroots/wlroots.git
synced 2026-02-06 04:06:11 -05:00
The client simply requests input-timestamps resources for both the keyboard and the pointer, and prints all relevant events with their more precise timestamps when they arrive. Touch support is not implemented as of now.
141 lines
3.4 KiB
Meson
141 lines
3.4 KiB
Meson
threads = dependency('threads')
|
|
wayland_cursor = dependency('wayland-cursor')
|
|
libpng = dependency('libpng', required: false)
|
|
# These versions correspond to ffmpeg 4.0
|
|
libavutil = dependency('libavutil', version: '>=56.14.100', required: false)
|
|
libavcodec = dependency('libavcodec', version: '>=58.18.100', required: false)
|
|
libavformat = dependency('libavformat', version: '>=58.12.100', required: false)
|
|
|
|
# epoll is a separate library in FreeBSD
|
|
if host_machine.system() == 'freebsd'
|
|
libepoll = [dependency('epoll-shim')]
|
|
else
|
|
libepoll = []
|
|
endif
|
|
|
|
# Small hack until https://github.com/mesonbuild/meson/pull/3386/ is merged
|
|
foreach dep : ['libpng', 'libavutil', 'libavcodec', 'libavformat']
|
|
if not get_variable(dep).found()
|
|
set_variable(dep, disabler())
|
|
endif
|
|
endforeach
|
|
|
|
if not cc.has_header('libavutil/hwcontext_drm.h', dependencies: libavutil)
|
|
libavutil = disabler()
|
|
endif
|
|
|
|
examples = {
|
|
'simple': {
|
|
'src': 'simple.c',
|
|
'dep': [wlroots],
|
|
},
|
|
'pointer': {
|
|
'src': 'pointer.c',
|
|
'dep': [wlroots],
|
|
},
|
|
'touch': {
|
|
'src': ['touch.c', 'cat.c'],
|
|
'dep': [wlroots],
|
|
},
|
|
'tablet': {
|
|
'src': 'tablet.c',
|
|
'dep': [wlroots],
|
|
},
|
|
'rotation': {
|
|
'src': ['rotation.c', 'cat.c'],
|
|
'dep': [wlroots],
|
|
},
|
|
'multi-pointer': {
|
|
'src': 'multi-pointer.c',
|
|
'dep': [wlroots],
|
|
},
|
|
'output-layout': {
|
|
'src': ['output-layout.c', 'cat.c'],
|
|
'dep': [wlroots],
|
|
},
|
|
'idle': {
|
|
'src': 'idle.c',
|
|
'dep': [wayland_client, wlr_protos, threads],
|
|
},
|
|
'idle-inhibit': {
|
|
'src': 'idle-inhibit.c',
|
|
'dep': [wayland_client, wlr_protos, wlroots],
|
|
},
|
|
'layer-shell': {
|
|
'src': 'layer-shell.c',
|
|
'dep': [wayland_client, wayland_cursor, wlr_protos, wlroots],
|
|
},
|
|
'input-inhibitor': {
|
|
'src': 'input-inhibitor.c',
|
|
'dep': [wayland_client, wayland_cursor, wlr_protos, wlroots],
|
|
},
|
|
'input-timestamps': {
|
|
'src': 'input-timestamps-unstable-v1.c',
|
|
'dep': [wayland_client, wlr_protos, wlroots],
|
|
},
|
|
'gamma-control': {
|
|
'src': 'gamma-control.c',
|
|
'dep': [wayland_client, wayland_cursor, wlr_protos, math],
|
|
},
|
|
'pointer-constraints': {
|
|
'src': 'pointer-constraints.c',
|
|
'dep': [wayland_client, wlr_protos, wlroots],
|
|
},
|
|
'relative-pointer': {
|
|
'src': 'relative-pointer-unstable-v1.c',
|
|
'dep': [wayland_client, wlr_protos, wlroots],
|
|
},
|
|
'dmabuf-capture': {
|
|
'src': 'dmabuf-capture.c',
|
|
'dep': [
|
|
libavcodec,
|
|
libavformat,
|
|
libavutil,
|
|
drm.partial_dependency(compile_args: true), # <drm_fourcc.h>
|
|
threads,
|
|
wayland_client,
|
|
wlr_protos,
|
|
],
|
|
},
|
|
'screencopy': {
|
|
'src': 'screencopy.c',
|
|
'dep': [libpng, wayland_client, wlr_protos, rt],
|
|
},
|
|
'toplevel-decoration': {
|
|
'src': 'toplevel-decoration.c',
|
|
'dep': [wayland_client, wlr_protos, wlroots],
|
|
},
|
|
'input-method': {
|
|
'src': 'input-method.c',
|
|
'dep': [wayland_client, wlr_protos] + libepoll,
|
|
},
|
|
'text-input': {
|
|
'src': 'text-input.c',
|
|
'dep': [wayland_cursor, wayland_client, wlr_protos, wlroots],
|
|
},
|
|
'foreign-toplevel': {
|
|
'src': 'foreign-toplevel.c',
|
|
'dep': [wayland_client, wlr_protos, wlroots],
|
|
},
|
|
'fullscreen-shell': {
|
|
'src': 'fullscreen-shell.c',
|
|
'dep': [wlr_protos, wlroots],
|
|
},
|
|
}
|
|
|
|
foreach name, info : examples
|
|
all_dep_found = true
|
|
foreach d : info.get('dep')
|
|
all_dep_found = all_dep_found and d.found()
|
|
endforeach
|
|
if all_dep_found
|
|
executable(
|
|
name,
|
|
info.get('src'),
|
|
dependencies: info.get('dep'),
|
|
build_by_default: get_option('examples'),
|
|
)
|
|
else
|
|
warning('Dependencies not satisfied for ' + name)
|
|
endif
|
|
endforeach
|