summaryrefslogtreecommitdiff
path: root/mesonbuild/interpreter/interpreterobjects.py
diff options
context:
space:
mode:
authorFlorian "sp1rit"​ <sp1rit@disroot.org>2025-05-01 19:07:27 +0200
committerJussi Pakkanen <jussi.pakkanen@mailbox.org>2025-05-22 12:23:55 +0300
commit7f1437a928d4282e45991ff6145dee8a9043be2f (patch)
tree2d2a7252feddc0b7b9a60368ad77f6f8c9d609bb /mesonbuild/interpreter/interpreterobjects.py
parente8c715786d85dcdbc367f3e379acae25a899c235 (diff)
downloadmeson-7f1437a928d4282e45991ff6145dee8a9043be2f.tar.gz
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).
Diffstat (limited to 'mesonbuild/interpreter/interpreterobjects.py')
-rw-r--r--mesonbuild/interpreter/interpreterobjects.py11
1 files changed, 11 insertions, 0 deletions
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)