aboutsummaryrefslogtreecommitdiffhomepage
path: root/protocols
diff options
context:
space:
mode:
Diffstat (limited to 'protocols')
-rw-r--r--protocols/meson.build51
1 files changed, 51 insertions, 0 deletions
diff --git a/protocols/meson.build b/protocols/meson.build
new file mode 100644
index 00000000..31a799d8
--- /dev/null
+++ b/protocols/meson.build
@@ -0,0 +1,51 @@
+wayland_protos = dependency('wayland-protocols',
+ version: '>=1.25',
+ fallback: 'wayland-protocols',
+ default_options: ['tests=false'],
+)
+wl_protocol_dir = wayland_protos.get_variable('pkgdatadir')
+
+wayland_scanner_dep = dependency('wayland-scanner', native: true)
+wayland_scanner = find_program(
+ wayland_scanner_dep.get_variable('wayland_scanner'),
+ native: true,
+)
+
+protocols = [
+ [wl_protocol_dir, 'stable/xdg-shell/xdg-shell.xml'],
+ ['wlr-layer-shell-unstable-v1.xml'],
+ ['ext-workspace-unstable-v1.xml'],
+ ['pointer-constraints-unstable-v1.xml'],
+ ['tablet-unstable-v2.xml'],
+ ['idle.xml']
+]
+wl_protos_src = []
+wl_protos_headers = []
+foreach p : protocols
+ xml = join_paths(p)
+ wl_protos_src += custom_target(
+ xml.underscorify() + '_server_c',
+ input: xml,
+ output: '@[email protected]',
+ command: [wayland_scanner, 'private-code', '@INPUT@', '@OUTPUT@'],
+ )
+ wl_protos_headers += custom_target(
+ xml.underscorify() + '_server_h',
+ input: xml,
+ output: '@[email protected]',
+ command: [wayland_scanner, 'server-header', '@INPUT@', '@OUTPUT@'],
+ )
+endforeach
+
+wayland_server = dependency('wayland-server', version: '>=1.20.0')
+
+lib_server_protos = static_library(
+ 'server_protos',
+ wl_protos_src + wl_protos_headers,
+ dependencies: wayland_server.partial_dependency(compile_args: true),
+)
+
+server_protos = declare_dependency(
+ link_with: lib_server_protos,
+ sources: wl_protos_headers,
+)