diff options
-rw-r--r-- | mesonbuild/build.py | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/mesonbuild/build.py b/mesonbuild/build.py index 50292d2..a8452da 100644 --- a/mesonbuild/build.py +++ b/mesonbuild/build.py @@ -113,6 +113,18 @@ known_shmod_kwargs = known_build_target_kwargs | {'vs_module_defs'} known_stlib_kwargs = known_build_target_kwargs | {'pic', 'prelink'} known_jar_kwargs = known_exe_kwargs | {'main_class', 'java_resources'} +def _process_install_tag(install_tag: T.List[T.Optional[str]], + num_outputs: int) -> T.List[T.Optional[str]]: + _install_tag: T.List[T.Optional[str]] + if not install_tag: + _install_tag = [None] * num_outputs + elif len(install_tag) == 1: + _install_tag = list(install_tag) * num_outputs + else: + _install_tag = list(install_tag) + return _install_tag + + @lru_cache(maxsize=None) def get_target_macos_dylib_install_name(ld) -> str: name = ['@rpath/', ld.prefix, ld.name] @@ -2451,10 +2463,7 @@ class CustomTarget(Target, CommandBase): self.install = install self.install_dir = list(install_dir or []) self.install_mode = install_mode - _install_tag: T.List[T.Optional[str]] = [None] if not install_tag else stringlistify(install_tag) - if len(_install_tag) == 1: - _install_tag = list(_install_tag) * len(self.outputs) - self.install_tag = _install_tag + self.install_tag = _process_install_tag(install_tag, len(self.outputs)) self.name = name if name else self.outputs[0] # Whether to use absolute paths for all files on the commandline |