From 98e71e1e65ed2992c06dfa41169a73f0b44df2cf Mon Sep 17 00:00:00 2001 From: Nirbheek Chauhan Date: Sat, 25 Mar 2017 01:59:24 +0530 Subject: Allow not-required not-found dependencies in subprojects Closes https://github.com/mesonbuild/meson/issues/1474 --- mesonbuild/interpreter.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'mesonbuild/interpreter.py') diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py index cd5db62..4ee0485 100644 --- a/mesonbuild/interpreter.py +++ b/mesonbuild/interpreter.py @@ -1938,8 +1938,14 @@ class Interpreter(InterpreterBase): try: dep = self.subprojects[dirname].get_variable_method([varname], {}) except KeyError: - raise InvalidCode('Fallback variable {!r} in the subproject ' - '{!r} does not exist'.format(varname, dirname)) + if kwargs.get('required', True): + m = 'Fallback variable {!r} in the subproject {!r} does not exist' + raise DependencyException(m.format(varname, dirname)) + # If the dependency is not required, don't raise an exception + mlog.log('Also couldn\'t find the dependency', mlog.bold(name), + 'in the fallback subproject', + mlog.bold(os.path.join(self.subproject_dir, dirname))) + return None if not isinstance(dep, DependencyHolder): raise InvalidCode('Fallback variable {!r} in the subproject {!r} is ' 'not a dependency object.'.format(varname, dirname)) -- cgit v1.1