summaryrefslogtreecommitdiff
path: root/mesonbuild
diff options
context:
space:
mode:
authorDylan Baker <dylan@pnwbakers.com>2025-06-16 08:46:52 -0700
committerDylan Baker <dylan@pnwbakers.com>2025-10-08 10:42:41 -0700
commit2e63336bf3e58eb3364bd8f7eedddbbc40ee6f69 (patch)
tree36263b00ad974ffb9f4cd497afe5aa6e3625a3bb /mesonbuild
parent6c05dabc47389f471c435394c13981d92f288d9b (diff)
downloadmeson-2e63336bf3e58eb3364bd8f7eedddbbc40ee6f69.tar.gz
vala: Add method to get generated GIR from a build_target
Fixes: #2296 Fixes: #4481 Fixes: #5968
Diffstat (limited to 'mesonbuild')
-rw-r--r--mesonbuild/interpreter/interpreterobjects.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/mesonbuild/interpreter/interpreterobjects.py b/mesonbuild/interpreter/interpreterobjects.py
index ab8e130d9..86e8957bc 100644
--- a/mesonbuild/interpreter/interpreterobjects.py
+++ b/mesonbuild/interpreter/interpreterobjects.py
@@ -1012,6 +1012,18 @@ class BuildTargetHolder(ObjectHolder[_BuildTarget]):
return mesonlib.File.from_built_file(
self.interpreter.backend.get_target_dir(self._target_object), self._target_object.vala_vapi)
+ @FeatureNew('vala_gir', '1.10.0')
+ @noPosargs
+ @noKwargs
+ @InterpreterObject.method('vala_gir')
+ def vala_gir_method(self, args: T.List[TYPE_var], kwargs: TYPE_kwargs) -> mesonlib.File:
+ if not hasattr(self._target_object, 'vala_gir'):
+ raise mesonlib.MesonException("Attempted to get a Vala GIR from a target that doesn't generate one")
+
+ assert self.interpreter.backend is not None, 'for mypy'
+ return mesonlib.File.from_built_file(
+ self.interpreter.backend.get_target_dir(self._target_object), self._target_object.vala_gir)
+
class ExecutableHolder(BuildTargetHolder[build.Executable]):
pass