diff options
author | Xavier Claessens <xavier.claessens@collabora.com> | 2021-01-29 15:18:12 -0500 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2021-01-30 21:28:21 +0000 |
commit | 6c6b5d77d696c160a8f65719058dba2faf783b3e (patch) | |
tree | 74e172d60ee634e1a7dd344b75c883841749aad2 /mesonbuild/interpreter.py | |
parent | c491d48b9d081125f242227ff9e543abbbb838d8 (diff) | |
download | meson-6c6b5d77d696c160a8f65719058dba2faf783b3e.zip meson-6c6b5d77d696c160a8f65719058dba2faf783b3e.tar.gz meson-6c6b5d77d696c160a8f65719058dba2faf783b3e.tar.bz2 |
add_install_script: add skip_if_destdir kwarg
It is common, at least in GNOME projects, to have scripts that must be
run only in the final destination, to update system icon cache, etc.
Skipping them from Meson ensures we can properly log that they have not
been run instead of relying on such scripts to to it (they don't
always).
Diffstat (limited to 'mesonbuild/interpreter.py')
-rw-r--r-- | mesonbuild/interpreter.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py index ceaa29a..0ce0fe8 100644 --- a/mesonbuild/interpreter.py +++ b/mesonbuild/interpreter.py @@ -2015,15 +2015,20 @@ class MesonMain(InterpreterObject): '0.55.0', self.interpreter.subproject) return script_args - @permittedKwargs(set()) + @FeatureNewKwargs('add_install_script', '0.57.0', ['skip_if_destdir']) + @permittedKwargs({'skip_if_destdir'}) def add_install_script_method(self, args: 'T.Tuple[T.Union[str, mesonlib.File, ExecutableHolder], T.Union[str, mesonlib.File, CustomTargetHolder, CustomTargetIndexHolder, ConfigureFileHolder], ...]', kwargs): if len(args) < 1: raise InterpreterException('add_install_script takes one or more arguments') if isinstance(args[0], mesonlib.File): FeatureNew.single_use('Passing file object to script parameter of add_install_script', '0.57.0', self.interpreter.subproject) + skip_if_destdir = kwargs.get('skip_if_destdir', False) + if not isinstance(skip_if_destdir, bool): + raise InterpreterException('skip_if_destdir keyword argument must be boolean') script_args = self._process_script_args('add_install_script', args[1:], allow_built=True) script = self._find_source_script(args[0], script_args) + script.skip_if_destdir = skip_if_destdir self.build.install_scripts.append(script) @permittedKwargs(set()) |