mirror of
https://codeberg.org/dwl/dwl-patches.git
synced 2025-09-07 19:54:50 +00:00
136 lines
3.3 KiB
Diff
136 lines
3.3 KiB
Diff
From 136cdeb302fdfe28e5cd5c6a1693b05c3d1bfb58 Mon Sep 17 00:00:00 2001
|
|
From: sewn <sewn@disroot.org>
|
|
Date: Sat, 7 Dec 2024 09:59:01 +0300
|
|
Subject: [PATCH] add meson
|
|
|
|
---
|
|
.gitignore | 1 +
|
|
meson.build | 93 ++++++++++++++++++++++++++++++++++++++++
|
|
subprojects/wlroots.wrap | 5 +++
|
|
3 files changed, 99 insertions(+)
|
|
create mode 100644 meson.build
|
|
create mode 100644 subprojects/wlroots.wrap
|
|
|
|
diff --git a/.gitignore b/.gitignore
|
|
index 0dde90e..9246a31 100644
|
|
--- a/.gitignore
|
|
+++ b/.gitignore
|
|
@@ -4,3 +4,4 @@ dwl
|
|
*-protocol.h
|
|
.ccls-cache
|
|
config.h
|
|
+subprojects/wlroots
|
|
diff --git a/meson.build b/meson.build
|
|
new file mode 100644
|
|
index 0000000..e2219ec
|
|
--- /dev/null
|
|
+++ b/meson.build
|
|
@@ -0,0 +1,93 @@
|
|
+project(
|
|
+ 'dwl',
|
|
+ 'c',
|
|
+ version: run_command('git', 'describe', '--tags', '--dirty', check: false).stdout().strip(),
|
|
+ license: [ 'GPL-3.0-only', 'CC0-1.0', 'MIT' ],
|
|
+ meson_version: '>=1.3',
|
|
+ default_options: [
|
|
+ 'c_std=c99',
|
|
+ 'warning_level=2',
|
|
+ ],
|
|
+)
|
|
+
|
|
+configure_file(
|
|
+ input: 'config.def.h',
|
|
+ output: 'config.h',
|
|
+ copy: true,
|
|
+ install_dir: '.',
|
|
+)
|
|
+
|
|
+cc = meson.get_compiler('c')
|
|
+
|
|
+add_project_arguments([
|
|
+ '-DWLR_USE_UNSTABLE',
|
|
+ '-D_POSIX_C_SOURCE=200809L',
|
|
+ '-DVERSION="@0@"'.format(meson.project_version()),
|
|
+
|
|
+ '-Wno-unused-parameter',
|
|
+], language: 'c')
|
|
+
|
|
+wlroots = subproject('wlroots',
|
|
+ default_options: [
|
|
+ 'backends=drm,libinput,auto',
|
|
+ 'default_library=static',
|
|
+ 'examples=false',
|
|
+ 'session=enabled',
|
|
+ ],
|
|
+)
|
|
+wlroots_has_xwlr = wlroots.get_variable('features').get('xwayland')
|
|
+
|
|
+libinput = dependency('libinput')
|
|
+math = cc.find_library('m')
|
|
+wayland_server = dependency('wayland-server')
|
|
+xcb = dependency('xcb', required: wlroots_has_xwlr)
|
|
+xcb_icccm = dependency('xcb-icccm', required: wlroots_has_xwlr)
|
|
+xkbcommon = dependency('xkbcommon')
|
|
+
|
|
+dwl_deps = [
|
|
+ libinput,
|
|
+ math,
|
|
+ wayland_server,
|
|
+ wlroots.get_variable('wlroots'),
|
|
+ xkbcommon,
|
|
+]
|
|
+
|
|
+if wlroots_has_xwlr
|
|
+ add_project_arguments('-DXWAYLAND', language: 'c')
|
|
+ dwl_deps += [ xcb, xcb_icccm ]
|
|
+endif
|
|
+
|
|
+wayland_protos = dependency('wayland-protocols')
|
|
+wayland_scanner = dependency('wayland-scanner')
|
|
+wayland_protocol_dir = wayland_protos.get_variable('pkgdatadir')
|
|
+wayland_scanner_prog = find_program(
|
|
+ wayland_scanner.get_variable('wayland_scanner'),
|
|
+ native: true,
|
|
+)
|
|
+
|
|
+protocols = [
|
|
+ wayland_protocol_dir / 'staging/cursor-shape/cursor-shape-v1.xml',
|
|
+ wayland_protocol_dir / 'unstable/pointer-constraints/pointer-constraints-unstable-v1.xml',
|
|
+ 'protocols/wlr-layer-shell-unstable-v1.xml',
|
|
+ 'protocols/wlr-output-power-management-unstable-v1.xml',
|
|
+ wayland_protocol_dir / 'stable/xdg-shell/xdg-shell.xml',
|
|
+]
|
|
+protocols_src = []
|
|
+
|
|
+wayland_scanner_server = generator(
|
|
+ wayland_scanner_prog,
|
|
+ output: '@BASENAME@-protocol.h',
|
|
+ arguments: ['server-header', '@INPUT@', '@OUTPUT@'],
|
|
+)
|
|
+
|
|
+foreach xml : protocols
|
|
+ protocols_src += wayland_scanner_server.process(xml)
|
|
+endforeach
|
|
+
|
|
+executable(
|
|
+ 'dwl',
|
|
+ [ 'dwl.c', 'util.c', protocols_src ],
|
|
+ include_directories: [include_directories('.')],
|
|
+ dependencies: dwl_deps,
|
|
+ install: true,
|
|
+)
|
|
diff --git a/subprojects/wlroots.wrap b/subprojects/wlroots.wrap
|
|
new file mode 100644
|
|
index 0000000..3d9cbfa
|
|
--- /dev/null
|
|
+++ b/subprojects/wlroots.wrap
|
|
@@ -0,0 +1,5 @@
|
|
+[wrap-git]
|
|
+url = https://gitlab.freedesktop.org/wlroots/wlroots.git
|
|
+revision = master
|
|
+depth = 1
|
|
+clone-recursive = true
|
|
--
|
|
2.47.1
|
|
|