use generators for wayland protocol gen
This commit is contained in:
parent
26edd5fb9e
commit
5a7595af77
|
@ -3,7 +3,7 @@
|
|||
#include <wlr/util/log.h>
|
||||
#include <stdlib.h>
|
||||
#include "compositor.h"
|
||||
#include "compositor/protocols/xdg-shell.h"
|
||||
#include "xdg-shell-unstable-v6-protocol.h"
|
||||
|
||||
static void resource_destructor(struct wl_client *client,
|
||||
struct wl_resource *resource) {
|
||||
|
|
|
@ -8,32 +8,32 @@ executable('pointer', 'pointer.c', dependencies: dep_wlr, link_with: lib_shared)
|
|||
executable('touch', 'touch.c', dependencies: dep_wlr, link_with: lib_shared)
|
||||
executable('tablet', 'tablet.c', dependencies: dep_wlr, link_with: lib_shared)
|
||||
|
||||
wayland_scanner = find_program('wayland-scanner')
|
||||
wl_protocol_dir = dep_wayland_proto.get_pkgconfig_variable('pkgdatadir')
|
||||
|
||||
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@'])
|
||||
|
||||
compositor_src = [
|
||||
'compositor/main.c',
|
||||
'compositor/wl_compositor.c',
|
||||
'compositor/wl_shell.c',
|
||||
'compositor/xdg_shell.c',
|
||||
'compositor/protocols/xdg-shell.c',
|
||||
]
|
||||
|
||||
wayland_scanner = find_program('wayland-scanner')
|
||||
wayland_protocols_pkgdatadir = dep_wayland_proto.get_pkgconfig_variable('pkgdatadir')
|
||||
|
||||
protocols_src = meson.current_source_dir() + '/compositor/protocols'
|
||||
run_command(['mkdir', '-p', protocols_src])
|
||||
|
||||
protocols = [
|
||||
['/unstable/xdg-shell/xdg-shell-unstable-v6.xml', 'xdg-shell']
|
||||
[ 'unstable', 'xdg-shell', 'xdg-shell-unstable-v6.xml' ]
|
||||
]
|
||||
|
||||
foreach p : protocols
|
||||
xml = wayland_protocols_pkgdatadir + p[0]
|
||||
|
||||
run_command([wayland_scanner, 'code', xml,
|
||||
protocols_src + '/' + p[1] + '.c'])
|
||||
|
||||
run_command([wayland_scanner, 'server-header', xml,
|
||||
protocols_src + '/' + p[1] + '.h'])
|
||||
xml = join_paths([wl_protocol_dir] + p)
|
||||
compositor_src += wayland_scanner_code.process(xml)
|
||||
compositor_src += wayland_scanner_server.process(xml)
|
||||
endforeach
|
||||
|
||||
executable('compositor', compositor_src, dependencies: dep_wlr, link_with: lib_shared)
|
||||
|
|
Loading…
Reference in New Issue