diff options
Diffstat (limited to 'interpreter.py')
-rw-r--r-- | interpreter.py | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/interpreter.py b/interpreter.py index 1820885..d8e20de 100644 --- a/interpreter.py +++ b/interpreter.py @@ -565,8 +565,21 @@ class MesonMain(InterpreterObject): 'is_unity' : self.is_unity_method, 'current_source_dir' : self.current_source_dir_method, 'current_build_dir' : self.current_build_dir_method, + 'set_install_script' : self.set_install_script_method, }) + def set_install_script_method(self, args, kwargs): + if len(args) != 1: + raise InterpreterException('Set_install_script takes exactly one argument.') + scriptbase = args[0] + if not isinstance(scriptbase, str): + raise InterpreterException('Set_install_script argument is not a string.') + scriptfile = os.path.join(self.interpreter.environment.source_dir, + self.interpreter.subdir, scriptbase) + if not os.path.isfile(scriptfile): + raise InterpreterException('Can not find install script %s.' % scriptbase) + self.build.install_script = scriptfile + def current_source_dir_method(self, args, kwargs): src = self.interpreter.environment.source_dir sub = self.interpreter.subdir |