1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
project(
'scfg',
'c',
version: '0.2.0',
license: 'MIT',
meson_version: '>=0.54.0',
default_options: [
'c_std=c99',
'warning_level=3',
'werror=true',
],
)
version = meson.project_version()
version_major = version.split('.')[0]
version_minor = version.split('.')[1]
assert(version_major == '0')
cc = meson.get_compiler('c')
add_project_arguments(cc.get_supported_arguments([
'-Wno-missing-braces',
'-Wno-missing-field-initializers',
'-Wno-unused-parameter',
]), language: 'c')
install_headers('include/scfg.h')
scfg_inc = include_directories('include')
scfg_lib = library(
meson.project_name(),
files('formatter.c', 'parser.c', 'scfg.c'),
include_directories: scfg_inc,
install: true,
version: version,
soversion: version_minor,
)
scfg = declare_dependency(
link_with: scfg_lib,
include_directories: scfg_inc,
)
meson.override_dependency('scfg', scfg)
pkgconfig = import('pkgconfig')
pkgconfig.generate(
scfg_lib,
version: meson.project_version(),
filebase: meson.project_name(),
name: meson.project_name(),
description: 'Configuration file format library',
)
test_exe = executable(
'scfg_test',
files('test.c'),
dependencies: scfg,
build_by_default: false,
)
foreach test_case : ['parse', 'format']
test(test_case, test_exe, args: [test_case])
endforeach
|