summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mesonbuild/build.py7
1 files changed, 4 insertions, 3 deletions
diff --git a/mesonbuild/build.py b/mesonbuild/build.py
index 0d9374d40..a00209ad4 100644
--- a/mesonbuild/build.py
+++ b/mesonbuild/build.py
@@ -762,6 +762,8 @@ class BuildTarget(Target):
self.pch: T.Dict[str, T.List[str]] = {}
self.extra_args: T.DefaultDict[str, T.List[str]] = kwargs.get('language_args', defaultdict(list))
self.sources: T.List[File] = []
+ # If the same source is defined multiple times, use it only once.
+ self.seen_sources: T.Set[File] = set()
self.generated: T.List['GeneratedTypes'] = []
self.extra_files: T.List[File] = []
self.d_features: DFeatures = {
@@ -884,12 +886,11 @@ class BuildTarget(Target):
(static as they are only regenerated if meson itself is regenerated)
3. Sources files generated by another target or a Generator (generated)
"""
- added_sources: T.Set[File] = set() # If the same source is defined multiple times, use it only once.
for s in sources:
if isinstance(s, File):
- if s not in added_sources:
+ if s not in self.seen_sources:
self.sources.append(s)
- added_sources.add(s)
+ self.seen_sources.add(s)
elif isinstance(s, (CustomTarget, CustomTargetIndex, GeneratedList)):
self.generated.append(s)