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.
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