diff options
| author | Dylan Baker <dylan@pnwbakers.com> | 2025-06-16 08:44:10 -0700 |
|---|---|---|
| committer | Dylan Baker <dylan@pnwbakers.com> | 2025-10-08 10:42:41 -0700 |
| commit | a5094a134aa8b2a971153ed8446f27d986f476e7 (patch) | |
| tree | 821380b5b6f801d66181abad34ef17f499999f8f /mesonbuild/interpreter | |
| parent | 8d69552dbd61144cdeab4ac93137db672c62fd52 (diff) | |
| download | meson-a5094a134aa8b2a971153ed8446f27d986f476e7.tar.gz | |
vala: add a method to get a generated vala header
This allows targets that don't link with a vala target to rely on the
header generation.
Diffstat (limited to 'mesonbuild/interpreter')
| -rw-r--r-- | mesonbuild/interpreter/interpreterobjects.py | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/mesonbuild/interpreter/interpreterobjects.py b/mesonbuild/interpreter/interpreterobjects.py index 17ba989d3..db6782ceb 100644 --- a/mesonbuild/interpreter/interpreterobjects.py +++ b/mesonbuild/interpreter/interpreterobjects.py @@ -988,6 +988,19 @@ class BuildTargetHolder(ObjectHolder[_BuildTarget]): def name_method(self, args: T.List[TYPE_var], kwargs: TYPE_kwargs) -> str: return self._target_object.name + @FeatureNew('vala_header', '1.10.0') + @noPosargs + @noKwargs + @InterpreterObject.method('vala_header') + def vala_header_method(self, args: T.List[TYPE_var], kwargs: TYPE_kwargs) -> mesonlib.File: + if not hasattr(self._target_object, 'vala_header'): + raise mesonlib.MesonException("Attempted to get a Vala header 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_header) + + class ExecutableHolder(BuildTargetHolder[build.Executable]): pass |
