From 52469901fcc4bb78817e7eeed50fbf9cd3b751a8 Mon Sep 17 00:00:00 2001 From: Martin Blanchard Date: Mon, 20 Aug 2018 20:32:10 +0100 Subject: [PATCH] Make meson build scripts subprojects friendly Multiple meson build scripts improvements including: * Bump meson requirement to 0.40.1 (0.40 already required) * Declare a dependency object for main library * Stop using add_global_arguments() * Various minor style fixes --- example/meson.build | 7 ++----- include/meson.build | 1 - lib/meson.build | 4 +++- meson.build | 10 +++++----- 4 files changed, 10 insertions(+), 12 deletions(-) diff --git a/example/meson.build b/example/meson.build index 7349977..012fda1 100644 --- a/example/meson.build +++ b/example/meson.build @@ -20,17 +20,14 @@ threaded_examples = [ 'notify_inval_inode', foreach ex : examples executable(ex, ex + '.c', - include_directories: include_dirs, - link_with: [ libfuse ], + dependencies: [ libfuse_dep ], install: false) endforeach foreach ex : threaded_examples executable(ex, ex + '.c', - include_directories: include_dirs, - link_with: [ libfuse ], - dependencies: thread_dep, + dependencies: [ thread_dep, libfuse_dep ], install: false) endforeach diff --git a/include/meson.build b/include/meson.build index 417113f..55cb6f7 100644 --- a/include/meson.build +++ b/include/meson.build @@ -2,4 +2,3 @@ libfuse_headers = [ 'fuse.h', 'fuse_common.h', 'fuse_lowlevel.h', 'fuse_opt.h', 'cuse_lowlevel.h' ] install_headers(libfuse_headers, subdir: 'fuse3') - diff --git a/lib/meson.build b/lib/meson.build index 0a742ca..5dd8450 100644 --- a/lib/meson.build +++ b/lib/meson.build @@ -44,4 +44,6 @@ pkg.generate(libraries: [ libfuse, '-lpthread' ], name: 'fuse3', description: 'Filesystem in Userspace', subdirs: 'fuse3') - + +libfuse_dep = declare_dependency(include_directories: include_dirs, + link_with: libfuse, dependencies: deps) diff --git a/meson.build b/meson.build index 0f9ef18..b6d246c 100644 --- a/meson.build +++ b/meson.build @@ -1,5 +1,5 @@ project('libfuse3', 'c', version: '3.2.5', - meson_version: '>= 0.38', + meson_version: '>= 0.40.1', default_options: [ 'buildtype=debugoptimized' ]) @@ -63,9 +63,9 @@ configure_file(output: 'config.h', # # Compiler configuration # -add_global_arguments('-D_REENTRANT', '-DHAVE_CONFIG_H', '-Wall', '-Wextra', '-Wno-sign-compare', - '-Wstrict-prototypes', '-Wmissing-declarations', '-Wwrite-strings', - '-fno-strict-aliasing', language: 'c') +add_project_arguments('-D_REENTRANT', '-DHAVE_CONFIG_H', '-Wall', '-Wextra', '-Wno-sign-compare', + '-Wstrict-prototypes', '-Wmissing-declarations', '-Wwrite-strings', + '-fno-strict-aliasing', language: 'c') # Some (stupid) GCC versions warn about unused return values even when they are # casted to void. This makes -Wunused-result pretty useless, since there is no @@ -80,7 +80,7 @@ int main(void) { }''' if not cc.compiles(code, args: [ '-O0', '-Werror=unused-result' ]) message('Compiler warns about unused result even when casting to void') - add_global_arguments('-Wno-unused-result', language: 'c') + add_project_arguments('-Wno-unused-result', language: 'c') endif # '.' will refer to current build directory, which contains config.h -- 2.30.2