diff options
author | Xavier Claessens <xavier.claessens@collabora.com> | 2020-04-04 17:39:39 -0400 |
---|---|---|
committer | Xavier Claessens <xavier.claessens@collabora.com> | 2020-07-01 09:45:33 -0400 |
commit | 56c9e95b04b51def7443a514e5021fa7b70fe8c8 (patch) | |
tree | 354b79309dc4c57a58eae71eab273b06a18542e3 /mesonbuild | |
parent | 64f36613ef5d54de9d2040da60b225c1ef11140d (diff) | |
download | meson-56c9e95b04b51def7443a514e5021fa7b70fe8c8.zip meson-56c9e95b04b51def7443a514e5021fa7b70fe8c8.tar.gz meson-56c9e95b04b51def7443a514e5021fa7b70fe8c8.tar.bz2 |
Implicit dependency fallback when a subproject wrap or dir exists
Diffstat (limited to 'mesonbuild')
-rw-r--r-- | mesonbuild/interpreter.py | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py index 487bdd6..053db12 100644 --- a/mesonbuild/interpreter.py +++ b/mesonbuild/interpreter.py @@ -3549,6 +3549,14 @@ external dependencies (including libraries) must go to "dependencies".''') return self.notfound_dependency() has_fallback = 'fallback' in kwargs + if not has_fallback and name: + # Add an implicit fallback if we have a wrap file or a directory with the same name. + subproject_dir_abs = os.path.join(self.environment.get_source_dir(), self.subproject_dir) + wrap_, directory = wrap.get_directory(subproject_dir_abs, name) + if wrap_ or os.path.exists(os.path.join(subproject_dir_abs, directory)): + kwargs['fallback'] = name + has_fallback = True + if 'default_options' in kwargs and not has_fallback: mlog.warning('The "default_options" keyworg argument does nothing without a "fallback" keyword argument.', location=self.current_node) |