diff --git a/examples/compositor/xdg_shell.c b/examples/compositor/xdg_shell.c index 3eaad449..5130bce6 100644 --- a/examples/compositor/xdg_shell.c +++ b/examples/compositor/xdg_shell.c @@ -3,7 +3,7 @@ #include #include #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) { diff --git a/examples/meson.build b/examples/meson.build index 51561e8a..646a4b88 100644 --- a/examples/meson.build +++ b/examples/meson.build @@ -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)