On 01/13/2014 01:38 PM, Alexander Neundorf wrote:
> does this require a policy now ?
> 
> Somebody could set Foo_VERSION_MAJOR in the toplevel subdir, and have a 
> project(Foo)
> call in a subdir, which would now unset Foo_VERSION_MAJOR.
> The same for PROJECT_VERSION_MAJOR, but this is maybe less likely.

I don't think project(Foo) needs to affect Foo_VERSION_* when no
VERSION argument is given (but should handle empty VERSION "").
It should still handle PROJECT_VERSION_* to ensure consistency
with PROJECT_NAME.  That may need a policy, but it will be tricky
because we need to know if the value came from a previous project()
call or a user set() in order to know when to trigger compatibility.

Perhaps "project(... VERSION ...)" can set some cmMakefile variable
internally that says the project knows about versions so it is okay
project(Foo) calls to unset them in subdirs.  Then we won't need any
policy because there is no change in behavior without modifying the
project to add at least one VERSION to a project() command.

-Brad
-- 

Powered by www.kitware.com

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

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

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

Reply via email to