On 06/22/2015 02:32 PM, Alexander Neundorf wrote:
> "Users who don't want to spend time babysitting their buildsystem, ".

So instead of incremental updates to the buildsystem occasionally as
KDE devs update their CMake, you're hiding the policies from them
until they become errors.  Suddenly they will be faced with a bunch
of errors on behavior that should have been updated years ago.  And
it will look like CMake's fault even though we provided years of
of compatibility.

> Once a newer version of cmake is required, those policy settings may be 
> changed. But even doing this means that developers may have to relearn some 
> of 
> their cmake skills, which is a cost, and shouldn't be forced without good 
> reason.

Porting a project to new policies does not mean forcing users to update
their CMake version.

For most policies it is possible to modify the source to work with CMake
versions from before the policy was introduced and also set the policy
to NEW for CMake versions that do have it.  Often the policy warnings
are about cases that might not work with the new behavior but often
do.  Then the change is just

 if(POLICY ${policy})
   cmake_policy(SET ${policy} NEW)
 endif()

plus testing that it works.  When the project later decides to require
a newer CMake then these explicit settings can go away.

> If there is a fixed date when the policy will result in an error, I'd 
> consider 
> it useful to have that date printed as part of the warning message.

We cannot predict such dates in general.  Even if we could, they would
typically be so far in the future at the time the warning first appears
that no one would consider it a priority just for that reason.

The time to update a project to work with the NEW behavior of a policy
is as soon as possible after the maintainer of the project sees the
warning produced by the first version of CMake to introduce the policy.
We provide a grace period of *years* to fit such updates into the
maintainer's schedule.

-Brad

-- 

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