]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
meson: Deduplicate sources before clang-tidy
authorDaan De Meyer <daan.j.demeyer@gmail.com>
Fri, 19 Dec 2025 13:53:42 +0000 (14:53 +0100)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Sat, 20 Dec 2025 16:58:19 +0000 (17:58 +0100)
Let's make sure we don't define the same clang-tidy
test multiple times by deduplicating sources beforehand.
We end up with the same sources in a few cases because
e.g. we reuse the same fuzz-main.c for each fuzz target.

meson.build

index 5f9f8adb9bae524a627fc7dd6a7a5903ae32c6fe..bcf1ff2df592dd6a0cb9c1ac48f1fc48e117671a 100644 (file)
@@ -2948,7 +2948,18 @@ endif
 alias_target('gensources', generated_sources)
 
 clang_tidy = find_program('clang-tidy', required : false)
-if meson.version().version_compare('>=1.4.0')
+if meson.version().version_compare('>=1.10.0')
+        uniq = {}
+
+        foreach source : sources
+                if uniq.has_key(source.full_path())
+                        continue
+                endif
+                uniq += {source.full_path(): source}
+        endforeach
+
+        sources = uniq.values()
+
         foreach source : sources
                 if systemd_headers.contains(source)
                         continue