switch to meson build + refactor code to remove compile warning
This commit is contained in:
73
meson.build
Normal file
73
meson.build
Normal file
@ -0,0 +1,73 @@
|
||||
project('diyac',
|
||||
['c'],
|
||||
version: '0.1.0',
|
||||
license: 'MIT',
|
||||
meson_version: '>=0.58.0',
|
||||
default_options: ['c_std=gnu11', 'warning_level=3'])
|
||||
|
||||
lib_so_version = '0'
|
||||
|
||||
add_project_arguments(
|
||||
[
|
||||
'-Wno-pedantic',
|
||||
'-Werror=implicit-function-declaration',
|
||||
'-Werror=return-type',
|
||||
'-DWLR_USE_UNSTABLE',
|
||||
'-D__COMPOSITOR_VERSION__="@0@"'.format(meson.project_version())
|
||||
],
|
||||
language: 'c')
|
||||
|
||||
wlroots = dependency('wlroots')
|
||||
wayland_server = dependency('wayland-server', version: '>=1.10.0')
|
||||
xkbcommon = dependency('xkbcommon')
|
||||
|
||||
# wayland_scanner is required, but we can find it without pkg-config
|
||||
wayland_scanner = find_program('wayland-scanner')
|
||||
|
||||
wayland_protocols = dependency('wayland-protocols', version: '>=1.16')
|
||||
|
||||
wl_protocol_dir = wayland_protocols.get_variable('pkgdatadir')
|
||||
|
||||
|
||||
wayland_targets=[]
|
||||
|
||||
wl_protocols = [
|
||||
wl_protocol_dir / 'stable/xdg-shell/xdg-shell',
|
||||
'protocol/wlr-layer-shell-unstable-v1',
|
||||
]
|
||||
|
||||
foreach proto : wl_protocols
|
||||
xml = ''.join([proto,'.xml'])
|
||||
header = ''.join([proto.split('/').get(-1),'.h'])
|
||||
cfile = ''.join([proto.split('/').get(-1),'.c'])
|
||||
wayland_targets += custom_target(header,output:header,input:xml,
|
||||
command: [ wayland_scanner, 'server-header', '@INPUT@', '@OUTPUT@' ] )
|
||||
wayland_targets += custom_target(cfile,output:cfile,input:xml,
|
||||
command: [ wayland_scanner, 'private-code', '@INPUT@', '@OUTPUT@' ] )
|
||||
endforeach
|
||||
|
||||
|
||||
incdir = include_directories([
|
||||
])
|
||||
|
||||
src = [
|
||||
'diyac.c',
|
||||
'cursor.c',
|
||||
'output.c',
|
||||
'seat.c',
|
||||
'node.c',
|
||||
'view.c',
|
||||
'foreign.c',
|
||||
'xdg.c',
|
||||
'layer.c',
|
||||
'session.c',
|
||||
wayland_targets
|
||||
]
|
||||
|
||||
buil_dep = [wlroots, wayland_server, xkbcommon]
|
||||
|
||||
executable(
|
||||
'diyac',
|
||||
src,
|
||||
dependencies: buil_dep,
|
||||
include_directories : incdir)
|
Reference in New Issue
Block a user