diff --git a/mesonbuild/build.py b/mesonbuild/build.py index 98fd764ae..dc19b736e 100644 --- a/mesonbuild/build.py +++ b/mesonbuild/build.py @@ -1637,6 +1637,10 @@ class CustomTarget(Target): for i in self.outputs: if not(isinstance(i, str)): raise InvalidArguments('Output argument not a string.') + if i == '': + raise InvalidArguments('Output must not be empty.') + if i.strip() == '': + raise InvalidArguments('Output must not consist only of whitespace.') if '/' in i: raise InvalidArguments('Output must not contain a path segment.') if '@INPUT@' in i or '@INPUT0@' in i: diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py index edcb92c84..9c2fd00c9 100644 --- a/mesonbuild/interpreter.py +++ b/mesonbuild/interpreter.py @@ -3006,6 +3006,8 @@ different subdirectory. def add_target(self, name, tobj): if name == '': raise InterpreterException('Target name must not be empty.') + if name.strip() == '': + raise InterpreterException('Target name must not consist only of whitespace.') if name.startswith('meson-'): raise InvalidArguments("Target names starting with 'meson-' are reserved " "for Meson's internal use. Please rename.")