@marc.chevrier When we added the support for version ranges in MR 5226, using any compatibility mode other than AnyNewerVersion
generates an author warning when any sort of version range is given to a find_package()
call that evaluates the generated config version file. Now that I’m looking to update the details about this in my book, I’m wondering why that restriction is in place. On the face of it, it seems like the other compatibility modes should be able to support at least a subset of version ranges that make sense for them. As long as the lower and upper ends don’t span more than the compatibility mode covers, it should be allowed.
For example, if a find_package()
call uses a version range like 2.3...2.9
or even 2.3...<3
, then this could be safely satisfied by a SameMajorVersion
compatibility mode. I didn’t consider this during the review. Can you clarify why we issue a warning in this case? This seems like an oversight, but maybe I’m forgetting some detail.