Details
-
Task
-
Resolution: Unresolved
-
Not Evaluated
-
None
-
None
-
None
Description
For instance, if I have Qt5 and Qt6 in the search path (in this order) and my product has a dependency on Qt >= 6, then Qt5 will be loaded and trigger an error in the end.
Instead, we should handle the version requirement like the priority, where we evaluate all candidates and choose the best one.
Note that this won't work in cases where the version is determined by a Probe (e.g. cpp), so we should not make the version a hard requirement at the point of loading, but only use it as a tie breaker to prevent cases like the Qt one, where we clearly can do better.