Switch to Meson

This makes it easier to extend in the future. Also, it will make it
easier to add (un)install targets and eventually, distribute files such
as systemd services.
This commit is contained in:
Jente Hidskes 2018-11-25 22:11:08 +01:00
parent 429392ac63
commit 95372f3f37
No known key found for this signature in database
GPG key ID: 04BE5A29F32D91EA
5 changed files with 85 additions and 42 deletions

68
meson.build Normal file
View file

@ -0,0 +1,68 @@
project('cage', 'c',
version: '0.0.1',
license: 'MIT',
default_options: [
'c_std=c11',
'warning_level=3',
'werror=true',
],
)
add_project_arguments(
[
'-DWLR_USE_UNSTABLE',
'-Wall',
'-Werror',
'-Wundef',
'-Wno-unused-parameter',
],
language: 'c',
)
if get_option('buildtype').startswith('debug')
add_project_arguments('-DDEBUG', language : 'c')
endif
wlroots = dependency('wlroots')
wayland_protos = dependency('wayland-protocols', version: '>=1.14')
wayland_server = dependency('wayland-server')
xkbcommon = dependency('xkbcommon')
wl_protocol_dir = wayland_protos.get_pkgconfig_variable('pkgdatadir')
wayland_scanner = find_program('wayland-scanner')
wayland_scanner_server = generator(
wayland_scanner,
output: '@BASENAME@-protocol.h',
arguments: ['server-header', '@INPUT@', '@OUTPUT@'],
)
server_protocols = [
[wl_protocol_dir, 'stable/xdg-shell/xdg-shell.xml'],
]
server_protos_headers = []
foreach p : server_protocols
xml = join_paths(p)
server_protos_headers += wayland_scanner_server.process(xml)
endforeach
server_protos = declare_dependency(
sources: server_protos_headers,
)
cage_sources = [
'cage.c'
]
executable(
meson.project_name(),
cage_sources,
dependencies: [
server_protos,
wayland_server,
wlroots,
xkbcommon,
],
install: true,
)