aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/interpreter.py
diff options
context:
space:
mode:
authorJon Turney <jon.turney@dronecode.org.uk>2017-10-20 18:07:59 +0100
committerJussi Pakkanen <jpakkane@gmail.com>2017-12-05 01:04:57 +0200
commit87e6201214eda0941d2a2279e12a575fc27d21bb (patch)
treeaa348795b444b7120bbf14ebf663648ac95e79c1 /mesonbuild/interpreter.py
parent6d03111638f9514ad7f5391006dca2d06aa92b84 (diff)
downloadmeson-87e6201214eda0941d2a2279e12a575fc27d21bb.zip
meson-87e6201214eda0941d2a2279e12a575fc27d21bb.tar.gz
meson-87e6201214eda0941d2a2279e12a575fc27d21bb.tar.bz2
Document and improve not-found dependency objects
Document dependency('', required:false) usage. Avoid emitting 'Dependency found: NO'.
Diffstat (limited to 'mesonbuild/interpreter.py')
-rw-r--r--mesonbuild/interpreter.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py
index ff93feb..86d25ea 100644
--- a/mesonbuild/interpreter.py
+++ b/mesonbuild/interpreter.py
@@ -2146,6 +2146,12 @@ to directly access options of other subprojects.''')
def func_dependency(self, node, args, kwargs):
self.validate_arguments(args, 1, [str])
name = args[0]
+
+ if name == '':
+ if kwargs.get('required', True):
+ raise InvalidArguments('Dependency is both required and not-found')
+ return DependencyHolder(Dependency('not-found', {}))
+
if '<' in name or '>' in name or '=' in name:
raise InvalidArguments('Characters <, > and = are forbidden in dependency names. To specify'
'version\n requirements use the \'version\' keyword argument instead.')