From 7f1437a928d4282e45991ff6145dee8a9043be2f Mon Sep 17 00:00:00 2001 From: "Florian \"sp1rit\"​" Date: Thu, 1 May 2025 19:07:27 +0200 Subject: support .version() for overridden executables Also ensure that .get_version() can be called on the output of _find_tool by the modules (kind of required for #14422). --- mesonbuild/interpreter/interpreterobjects.py | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'mesonbuild/interpreter/interpreterobjects.py') diff --git a/mesonbuild/interpreter/interpreterobjects.py b/mesonbuild/interpreter/interpreterobjects.py index a2fadbefc..af1322d0e 100644 --- a/mesonbuild/interpreter/interpreterobjects.py +++ b/mesonbuild/interpreter/interpreterobjects.py @@ -1142,3 +1142,14 @@ class StructuredSourcesHolder(ObjectHolder[build.StructuredSources]): def __init__(self, sources: build.StructuredSources, interp: 'Interpreter'): super().__init__(sources, interp) + +class OverrideExecutableHolder(BuildTargetHolder[build.OverrideExecutable]): + def __init__(self, exe: build.OverrideExecutable, interpreter: 'Interpreter') -> None: + super().__init__(exe, interpreter) + self.methods.update({'version': self.version_method}) + + @noPosargs + @noKwargs + @FeatureNew('OverrideExecutable.version', '1.9.0') + def version_method(self, args: T.List[TYPE_var], kwargs: TYPE_kwargs) -> str: + return self.held_object.get_version(self.interpreter) -- cgit v1.2.3