-
Brad King authored
Since commit 37da6af1 (find_dependency: Always search dependencies, 2019-03-29, v3.15.0-rc1~301^2) we search for a package every time it is encountered in the transitive dependency graph traversal, even if it has been found before. This was done in case a new visit to a given package requests different components than a previous visit. However, it also causes a lot of repeat processing that is unnecessary in the common case that all calls share the same set of components (often none). Restore the logic to avoid repeating the search for an already-found package. Handle differences in components by de-duplicating based on the complete `find_package` call arguments. Fixes: #23685
fb9a3d0c