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

Attachment: signature.asc
Description: This is a digitally signed message part.

-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake-developers

Reply via email to