wlroots-hyprland/protocol/meson.build
Dominique Martinet b46cc3cafd wayland protocol build: remove client protocols we do not use
Only include client protocols that we use on the client side.
Since these are not installed, there should not be any change
with this.
Testers - please note 'ninja -C build clean' does not remove
the old headers, you need to start from a new directory.
2018-02-15 07:18:35 +01:00

59 lines
1.5 KiB
Meson

wl_protocol_dir = wayland_protos.get_pkgconfig_variable('pkgdatadir')
wayland_scanner = find_program('wayland-scanner')
wayland_scanner_server = generator(
wayland_scanner,
output: '@BASENAME@-protocol.h',
arguments: ['server-header', '@INPUT@', '@OUTPUT@'],
)
wayland_scanner_code = generator(
wayland_scanner,
output: '@BASENAME@-protocol.c',
arguments: ['code', '@INPUT@', '@OUTPUT@'],
)
wayland_scanner_client = generator(
wayland_scanner,
output: '@BASENAME@-client-protocol.h',
arguments: ['client-header', '@INPUT@', '@OUTPUT@'],
)
protocols = [
[wl_protocol_dir, 'unstable/xdg-shell/xdg-shell-unstable-v6.xml'],
[wl_protocol_dir, 'stable/xdg-shell/xdg-shell.xml'],
'gamma-control.xml',
'gtk-primary-selection.xml',
'idle.xml',
'screenshooter.xml',
'server-decoration.xml',
]
client_protocols = [
[wl_protocol_dir, 'unstable/xdg-shell/xdg-shell-unstable-v6.xml'],
'idle.xml',
'screenshooter.xml',
]
wl_protos_src = []
wl_protos_headers = []
foreach p : protocols
xml = join_paths(p)
wl_protos_src += wayland_scanner_code.process(xml)
wl_protos_headers += wayland_scanner_server.process(xml)
endforeach
foreach p : client_protocols
xml = join_paths(p)
wl_protos_headers += wayland_scanner_client.process(xml)
endforeach
lib_wl_protos = static_library('wl_protos', wl_protos_src + wl_protos_headers,
dependencies: [wayland_client]) # for the include directory
wlr_protos = declare_dependency(
link_with: lib_wl_protos,
sources: wl_protos_headers,
)