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')
opt_shadow_ioeventfd = get_option('shadow-ioeventfd')
opt_debug_sgl = get_option('debug-sgl')

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)
misspell_fixer = find_program('misspell-fixer', 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 opt_shadow_ioeventfd
    common_cflags += ['-DSHADOW_IOEVENTFD']
endif

if opt_debug_sgl
    common_cflags += ['-DDEBUG_SGL']
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')
