mirror of https://gitee.com/openkylin/qemu.git
75 lines
1.7 KiB
Meson
75 lines
1.7 KiB
Meson
project(
|
|
'libvfio-user',
|
|
'c',
|
|
version: '0.0.1',
|
|
license: 'BSD-3-Clause',
|
|
meson_version: '>= 0.53.0',
|
|
default_options: [
|
|
'buildtype=debug',
|
|
'c_std=gnu99',
|
|
'warning_level=2',
|
|
# clang with dwarf-5 can break valgrind
|
|
'c_args=-gdwarf-4',
|
|
],
|
|
)
|
|
|
|
opt_rpath = get_option('rpath')
|
|
opt_tran_pipe = get_option('tran-pipe')
|
|
opt_debug_logs = get_option('debug-logs')
|
|
opt_sanitizers = get_option('b_sanitize')
|
|
opt_debug = get_option('debug')
|
|
|
|
cc = meson.get_compiler('c')
|
|
|
|
prefix = get_option('prefix')
|
|
libdir = prefix / get_option('libdir')
|
|
|
|
if prefix == '/usr' and not opt_rpath.enabled()
|
|
rpathdir = ''
|
|
else
|
|
rpathdir = libdir
|
|
endif
|
|
|
|
thread_dep = dependency('threads')
|
|
dl_dep = cc.find_library('dl', required: true)
|
|
|
|
json_c_version = '0.11'
|
|
json_c_dep = dependency('json-c', version: '>=' + json_c_version)
|
|
|
|
cmocka_version = ''
|
|
cmocka_dep = dependency('cmocka', version: '>=' + cmocka_version)
|
|
|
|
|
|
pytest = find_program('pytest-3', required: false)
|
|
flake8 = find_program('flake8', required: false)
|
|
rstlint = find_program('restructuredtext-lint', required: false)
|
|
valgrind = find_program('valgrind', required: false)
|
|
|
|
common_cflags = [
|
|
'-D_GNU_SOURCE',
|
|
]
|
|
|
|
if opt_debug
|
|
common_cflags += '-Werror'
|
|
endif
|
|
|
|
if opt_debug_logs.enabled() or (not opt_debug_logs.disabled() and opt_debug)
|
|
common_cflags += ['-DDEBUG']
|
|
endif
|
|
|
|
if get_option('warning_level') == '2'
|
|
# -Wall is set for 'warning_level>=1'
|
|
# -Wextra is set for 'warning_level>=2'
|
|
common_cflags += cc.get_supported_arguments([
|
|
'-Wno-missing-field-initializers',
|
|
'-Wmissing-declarations',
|
|
'-Wwrite-strings',
|
|
])
|
|
endif
|
|
|
|
subdir('include')
|
|
subdir('lib')
|
|
subdir('samples')
|
|
subdir('test')
|
|
subdir('docs')
|