From 36e64d89dc0ff370cdc6bb70e0937010c53b0409 Mon Sep 17 00:00:00 2001 From: Robbert van der Helm Date: Fri, 12 Mar 2021 14:50:42 +0100 Subject: [PATCH] Use dependency() with subproject fallback for deps None of these libraries are packaged anywhere right now since they do not have Meson build definitions, but in case they ever do it should be possible to use them from a system package manager. --- CHANGELOG.md | 3 +++ meson.build | 8 +++++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e16589cf..23dbb123 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,9 @@ Versioning](https://semver.org/spec/v2.0.0.html). ### Packaging +- The Meson wrap dependencies for `bitsery`, `function2` and `tomlplusplus` are + now defined using `dependency()` with a subproject fallback to ease distro + packaging. - The VST3 SDK Meson wrap now the `v3.7.1_build_50-patched` tag instead of a commit hash. diff --git a/meson.build b/meson.build index 3667dfe5..1602191a 100644 --- a/meson.build +++ b/meson.build @@ -278,10 +278,12 @@ boost_filesystem_dep = dependency( modules : ['filesystem'], static : with_static_boost, ) -bitsery_dep = subproject('bitsery', version : '5.2.0').get_variable('bitsery_dep') -function2_dep = subproject('function2', version : '4.1.0').get_variable('function2_dep') +# TODO: Meson doesn't have a way to define version ranges, does it? Like +# `^>=5.2.0`, `>=5.2.0 && <6.0.0` or `5.2.*`. +bitsery_dep = dependency('bitsery', version : '>=5.2.0', fallback : ['bitsery', 'bitsery_dep']) +function2_dep = dependency('function2', version : '>=4.1.0', fallback : ['function2', 'function2_dep']) threads_dep = dependency('threads') -tomlplusplus_dep = subproject('tomlplusplus', version : '2.1.0').get_variable('tomlplusplus_dep') +tomlplusplus_dep = dependency('tomlplusplus', version : '>=2.1.0', fallback : ['tomlplusplus', 'tomlplusplus_dep']) # The built in threads dependency does not know how to handle winegcc wine_threads_dep = declare_dependency(link_args : '-lpthread') xcb_dep = dependency('xcb')