[cmake-developers] Improving the version selection behavior of EXACT
Rolf Eike Beer
eike at sf-mail.de
Fri Oct 3 03:35:05 EDT 2014
find_package(foo 2.0 EXACT) means EXACT, i.e. only "2.0" is allowed. In most
cases this behavior is not the one that one would expect or need. Most people
would instead allow any 2.0.x version to match. This sort of selection is
currently impossible without additional effort in every Find*.cmake that is
used.
I came over this when I tried converting FindLua5[01].cmake to use
FindLua.cmake, but I can't do "find_package(Lua 5.0 EXACT)" in there because
e.g. 5.0.1 would not be accepted then, and I neither can do "find_package(Lua
5.0)" because that may return e.g. 5.2 instead.
Since we can't change this because of the usual backward compatibility
concerns I think we should introduce a new version mode, e.g. EXACT_OR_MINOR
(or any other naming you find more appropiate).
In case this is aggreed on I would try to create a patch ASAP to be able to
still land it in 3.1.
Opinions?
Eike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://public.kitware.com/pipermail/cmake-developers/attachments/20141003/2cf517ee/attachment-0001.sig>
More information about the cmake-developers
mailing list