aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/interpreter.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2017-12-17 22:42:20 +0200
committerJussi Pakkanen <jpakkane@gmail.com>2017-12-17 22:42:20 +0200
commitb949c4792d5893dabbc0cb3dcc2f58aa173d8efc (patch)
treea10c2f7879efe16b3df655cfe21f386a557a44be /mesonbuild/interpreter.py
parentee9832cdb180aad535a37f973148149df5ef3a1c (diff)
downloadmeson-b949c4792d5893dabbc0cb3dcc2f58aa173d8efc.zip
meson-b949c4792d5893dabbc0cb3dcc2f58aa173d8efc.tar.gz
meson-b949c4792d5893dabbc0cb3dcc2f58aa173d8efc.tar.bz2
Preserve_path_from should be a kwarg of process(), not generator().
Diffstat (limited to 'mesonbuild/interpreter.py')
-rw-r--r--mesonbuild/interpreter.py13
1 files changed, 12 insertions, 1 deletions
diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py
index ea741a0..a5aa5fa 100644
--- a/mesonbuild/interpreter.py
+++ b/mesonbuild/interpreter.py
@@ -375,7 +375,18 @@ class GeneratorHolder(InterpreterObject, ObjectHolder):
def process_method(self, args, kwargs):
extras = mesonlib.stringlistify(kwargs.get('extra_args', []))
- gl = self.held_object.process_files('Generator', args, self.interpreter, extra_args=extras)
+ if 'preserve_path_from' in kwargs:
+ preserve_path_from = kwargs['preserve_path_from']
+ if not isinstance(preserve_path_from, str):
+ raise InvalidArguments('Preserve_path_from must be a string.')
+ preserve_path_from = os.path.normpath(preserve_path_from)
+ if not os.path.isabs(preserve_path_from):
+ # This is a bit of a hack. Fix properly before merging.
+ raise InvalidArguments('Preserve_path_from must be an absolute path for now. Sorry.')
+ else:
+ preserve_path_from = None
+ gl = self.held_object.process_files('Generator', args, self.interpreter,
+ preserve_path_from, extra_args=extras)
return GeneratedListHolder(gl)