diff options
author | Florian "sp1rit" <[email protected]> | 2022-06-12 22:57:03 +0200 |
---|---|---|
committer | Florian "sp1rit" <[email protected]> | 2022-06-16 23:30:28 +0200 |
commit | fd0112425f165aff786bcfec8c610114324c37a1 (patch) | |
tree | 2f10644bc09eeb9e378f612f59462c2a40d2e3a2 /protocols | |
parent | 354e2651289861bf7027fd02be41088e45fc1c99 (diff) | |
download | Hyprland-fd0112425f165aff786bcfec8c610114324c37a1.tar.gz Hyprland-fd0112425f165aff786bcfec8c610114324c37a1.zip |
Added meson buildfiles
this makes for a far better experience in combination with wlroots,
since that whole makefile mess is not required.
Additionaly, handling of wayland protocol sources is also slightly
better, but could be improved with mesons inbuilt wayland module.
To build Hyprland using meson:
meson _build -Ddefault_library=static
ninja -C _build
ninja -C _build install
Diffstat (limited to 'protocols')
-rw-r--r-- | protocols/meson.build | 51 |
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, +) |