Modernize meson.build

* Make tests optional
* Use `files()` for quick sanity checks
This commit is contained in:
David Seifert 2019-12-21 19:42:01 +01:00
parent d6c4a8fb2d
commit 5a2daafc39
No known key found for this signature in database
GPG Key ID: CE36E117202E3842
2 changed files with 21 additions and 13 deletions

View File

@ -18,7 +18,7 @@ project(
meson_version : '>= 0.49.0')
jsoncpp_headers = [
jsoncpp_headers = files([
'include/json/allocator.h',
'include/json/assertions.h',
'include/json/config.h',
@ -28,7 +28,8 @@ jsoncpp_headers = [
'include/json/reader.h',
'include/json/value.h',
'include/json/version.h',
'include/json/writer.h']
'include/json/writer.h',
])
jsoncpp_include_directories = include_directories('include')
install_headers(
@ -44,12 +45,11 @@ else
endif
jsoncpp_lib = library(
'jsoncpp',
[ jsoncpp_headers,
'src/lib_json/json_tool.h',
'jsoncpp', files([
'src/lib_json/json_reader.cpp',
'src/lib_json/json_value.cpp',
'src/lib_json/json_writer.cpp'],
'src/lib_json/json_writer.cpp',
]),
soversion : 22,
install : true,
include_directories : jsoncpp_include_directories,
@ -66,18 +66,21 @@ import('pkgconfig').generate(
jsoncpp_dep = declare_dependency(
include_directories : jsoncpp_include_directories,
link_with : jsoncpp_lib,
version : meson.project_version(),
)
version : meson.project_version())
# tests
python = import('python').find_installation()
if meson.is_subproject() or not get_option('tests')
subdir_done()
endif
python = import('python').find_installation('python3')
jsoncpp_test = executable(
'jsoncpp_test',
[ 'src/test_lib_json/jsontest.cpp',
'src/test_lib_json/jsontest.h',
'jsoncpp_test', files([
'src/test_lib_json/jsontest.cpp',
'src/test_lib_json/main.cpp',
'src/test_lib_json/fuzz.cpp'],
'src/test_lib_json/fuzz.cpp',
]),
include_directories : jsoncpp_include_directories,
link_with : jsoncpp_lib,
install : false,

5
meson_options.txt Normal file
View File

@ -0,0 +1,5 @@
option(
'tests',
type : 'boolean',
value : true,
description : 'Enable building tests')