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