mirror of
https://github.com/yshui/picom.git
synced 2024-11-18 13:55:36 -05:00
Add initial meson build scripts
This commit is contained in:
parent
aa2098eefd
commit
4094d8b9c4
5 changed files with 114 additions and 1 deletions
8
man/meson.build
Normal file
8
man/meson.build
Normal file
|
@ -0,0 +1,8 @@
|
|||
mans = ['compton.1', 'compton-trans.1']
|
||||
a2x = find_program('a2x')
|
||||
foreach m : mans
|
||||
custom_target(m, output: [m], input: [m+'.asciidoc'],
|
||||
command: [a2x, '--format', 'manpage', '@INPUT@',
|
||||
'-D', meson.current_build_dir()],
|
||||
install: true, install_dir: 'share/man/man1/')
|
||||
endforeach
|
36
meson.build
Normal file
36
meson.build
Normal file
|
@ -0,0 +1,36 @@
|
|||
project('compton', 'c')
|
||||
|
||||
cc = meson.get_compiler('c')
|
||||
|
||||
add_global_arguments('-std=c11', language: 'c')
|
||||
|
||||
if get_option('sanitize')
|
||||
sanitizers = ['address', 'undefined']
|
||||
if cc.has_argument('-fsanitize=integer')
|
||||
sanitizers += ['integer']
|
||||
endif
|
||||
if cc.has_argument('-fsanitize=nullability')
|
||||
sanitizers += ['nullability']
|
||||
endif
|
||||
add_global_arguments('-fsanitize='+','.join(sanitizers), language: 'c')
|
||||
add_global_link_arguments('-fsanitize='+','.join(sanitizers), language: 'c')
|
||||
endif
|
||||
|
||||
add_global_arguments('-D_GNU_SOURCE', language: 'c')
|
||||
|
||||
warns = [ 'all', 'extra', 'no-unused-parameter', 'nonnull', 'shadow' ]
|
||||
foreach w : warns
|
||||
if cc.has_argument('-W'+w)
|
||||
add_global_arguments('-W'+w, language: 'c')
|
||||
endif
|
||||
endforeach
|
||||
|
||||
subdir('src')
|
||||
subdir('man')
|
||||
|
||||
install_subdir('bin', install_dir: '')
|
||||
install_data('compton.desktop', install_dir: 'share/applications')
|
||||
install_data('media/icons/48x48/compton.png',
|
||||
install_dir: 'share/icons/hicolor/48x48/apps')
|
||||
install_data('media/compton.svg',
|
||||
install_dir: 'share/icons/hicolor/scalable/apps')
|
11
meson_options.txt
Normal file
11
meson_options.txt
Normal file
|
@ -0,0 +1,11 @@
|
|||
option('sanitize', type: 'boolean', value: false, description: 'Compile compton with sanitizers')
|
||||
option('xinerama', type: 'boolean', value: true, description: 'Enable XINERAMA support')
|
||||
option('config_file', type: 'boolean', value: true, description: 'Enable config file support')
|
||||
option('regex', type: 'boolean', value: true, description: 'Enable regex support in window conditions')
|
||||
|
||||
option('vsync_drm', type: 'boolean', value: false, description: 'Enable support for using drm for vsync')
|
||||
|
||||
option('opengl', type: 'boolean', value: true, description: 'Enable features that require opengl (opengl backend, and opengl vsync methods)')
|
||||
option('dbus', type: 'boolean', value: true, description: 'Enable suport for D-Bus remote control')
|
||||
|
||||
option('xrescheck', type: 'boolean', value: false, description: 'Enable X resource leak checker (for debug only)')
|
|
@ -1709,7 +1709,7 @@ cxfree(void *data) {
|
|||
XFree(data);
|
||||
}
|
||||
|
||||
static inline void _Noreturn
|
||||
_Noreturn static inline void
|
||||
die(const char *msg) {
|
||||
puts(msg);
|
||||
exit(1);
|
||||
|
|
58
src/meson.build
Normal file
58
src/meson.build
Normal file
|
@ -0,0 +1,58 @@
|
|||
deps = [ cc.find_library('m'), cc.find_library('ev') ]
|
||||
|
||||
cflags = [ '-DCONFIG_XSYNC' ]
|
||||
|
||||
srcs = ['compton.c', 'win.c', 'c2.c', 'x.c', 'config.c']
|
||||
|
||||
required_package =[
|
||||
'x11', 'x11-xcb', 'xcb-renderutil',
|
||||
'xcb-render', 'xcb-damage', 'xcb-randr',
|
||||
'xcb-composite', 'xcb-shape', 'xcb-image',
|
||||
'xcb-xfixes', 'xext', 'pixman-1']
|
||||
|
||||
foreach i : required_package
|
||||
deps += [dependency(i, required: true)]
|
||||
endforeach
|
||||
|
||||
if get_option('xinerama')
|
||||
deps += [dependency('xcb-xinerama', required: true)]
|
||||
cflags += ['-DCONFIG_XINERAMA']
|
||||
endif
|
||||
|
||||
if get_option('config_file')
|
||||
deps += [dependency('libconfig', version: '>=1.4', required: true)]
|
||||
cflags += ['-DCONFIG_LIBCONFIG']
|
||||
srcs += [ 'config_libconfig.c' ]
|
||||
endif
|
||||
if get_option('regex')
|
||||
pcre = dependency('libpcre', required: true)
|
||||
cflags += ['-DCONFIG_REGEX_PCRE']
|
||||
if pcre.version().version_compare('>=8.20')
|
||||
cflags += ['-DCONFIG_REGEX_PCRE_JIT']
|
||||
endif
|
||||
deps += [pcre]
|
||||
endif
|
||||
|
||||
if get_option('vsync_drm')
|
||||
cflags += ['-DCONFIG_VSYNC_DRM']
|
||||
deps += [dependency('libdrm', required: true)]
|
||||
endif
|
||||
|
||||
if get_option('opengl')
|
||||
cflags += ['-DCONFIG_OPENGL']
|
||||
deps += [dependency('gl', required: true)]
|
||||
srcs += [ 'opengl.c' ]
|
||||
endif
|
||||
|
||||
if get_option('dbus')
|
||||
cflags += ['-DCONFIG_DBUS']
|
||||
deps += [dependency('dbus-1', required: true)]
|
||||
srcs += [ 'dbus.c' ]
|
||||
endif
|
||||
|
||||
if get_option('xrescheck')
|
||||
cflags += ['-DDEBUG_XRC']
|
||||
srcs += [ 'xrescheck.c' ]
|
||||
endif
|
||||
|
||||
executable('compton', srcs, c_args: cflags, dependencies: deps, install: true)
|
Loading…
Reference in a new issue