picom/meson.build

75 lines
2.2 KiB
Meson
Raw Normal View History

project('compton', 'c', version: '6',
default_options: ['c_std=c11'])
2018-10-15 07:38:21 +08:00
cc = meson.get_compiler('c')
# use project version by default
version = 'v'+meson.project_version()
# use git describe if that's available
git = find_program('git', required: false)
if git.found()
gitv = run_command('git', 'describe')
if gitv.returncode() == 0
version = gitv.stdout().strip()
endif
endif
2018-10-16 17:29:52 +08:00
add_global_arguments('-DCOMPTON_VERSION="'+version+'"', language: 'c')
2018-10-15 07:38:21 +08:00
2018-10-15 18:16:32 +08:00
if get_option('buildtype') == 'release'
add_global_arguments('-DNDEBUG', language: 'c')
2018-10-15 18:16:32 +08:00
endif
2018-10-15 07:38:21 +08:00
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')
if cc.has_argument('-fno-sanitize=unsigned-integer-overflow')
add_global_arguments('-fno-sanitize=unsigned-integer-overflow', language: 'c')
endif
2018-10-15 07:38:21 +08:00
endif
if get_option('modularize')
if not cc.has_argument('-fmodules')
error('option \'modularize\' requires clang')
endif
add_global_arguments(['-fmodules',
'-fmodule-map-file='+
meson.current_source_dir()+
'/src/compton.modulemap'],
language: 'c')
endif
2018-10-15 07:38:21 +08:00
add_global_arguments('-D_GNU_SOURCE', language: 'c')
if cc.has_header('stdc-predef.h')
add_global_arguments('-DHAS_STDC_PREDEF_H', language: 'c')
endif
warns = [ 'all', 'extra', 'no-unused-parameter', 'nonnull', 'shadow', 'no-type-limits',
'implicit-fallthrough', 'no-unknown-warning-option', 'no-missing-braces', 'conversion' ]
2018-10-15 07:38:21 +08:00
foreach w : warns
if cc.has_argument('-W'+w)
add_global_arguments('-W'+w, language: 'c')
endif
endforeach
test_h_dep = subproject('test.h').get_variable('test_h_dep')
2018-10-15 07:38:21 +08:00
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')