summaryrefslogtreecommitdiff
path: root/mesonbuild/interpreter/interpreterobjects.py
diff options
context:
space:
mode:
authorXavier Claessens <xavier.claessens@collabora.com>2023-11-17 13:10:47 -0500
committerXavier Claessens <xclaesse@gmail.com>2025-10-20 14:37:58 -0400
commit5d496cc8b70188e38b1aa4dcc014e410c3484fe5 (patch)
treea920b7a021148eae665605c60d6f68c7feb1be5f /mesonbuild/interpreter/interpreterobjects.py
parent28e1684abaa8c6fe6e06048bf58f2b0e6b530763 (diff)
downloadmeson-5d496cc8b70188e38b1aa4dcc014e410c3484fe5.tar.gz
interpreter: Fix extract_object subproject validation
Fixes: #12519
Diffstat (limited to 'mesonbuild/interpreter/interpreterobjects.py')
-rw-r--r--mesonbuild/interpreter/interpreterobjects.py2
1 files changed, 2 insertions, 0 deletions
diff --git a/mesonbuild/interpreter/interpreterobjects.py b/mesonbuild/interpreter/interpreterobjects.py
index c4f56091a..4ff7e903e 100644
--- a/mesonbuild/interpreter/interpreterobjects.py
+++ b/mesonbuild/interpreter/interpreterobjects.py
@@ -950,6 +950,8 @@ class BuildTargetHolder(ObjectHolder[_BuildTarget]):
@typed_pos_args('extract_objects', varargs=(mesonlib.File, str, build.CustomTarget, build.CustomTargetIndex, build.GeneratedList))
@InterpreterObject.method('extract_objects')
def extract_objects_method(self, args: T.Tuple[T.List[T.Union[mesonlib.FileOrString, 'build.GeneratedTypes']]], kwargs: TYPE_nkwargs) -> build.ExtractedObjects:
+ if self.subproject != self.held_object.subproject:
+ raise InterpreterException('Tried to extract objects from a different subproject.')
tobj = self._target_object
unity_value = self.interpreter.coredata.get_option_for_target(tobj, "unity")
is_unity = (unity_value == 'on' or (unity_value == 'subprojects' and tobj.subproject != ''))