Brad King wrote:

> <snip>

I recommend the following guidelines:

1) Policies need to result in errors in a short timeframe. They are not 
something to ignore for years, because allowing that makes them feature 
toggles. Alex won't be happy with this one obviously, but that's what I 
recommend.

2) Policies need to result in unconditional warnings in a short timeframe. 
Even -Wno-dev should have no effect on the warning when the warning is 
unconditional. If third parties are using -Wno-dev to silence output they 
need to know that will no longer work. It only works while there is an OLD 
state for the policy. 

I don't think more conditions with deprecation states is a good idea. Policy 
lifecycle should be simple to understand. It should be a loud notification 
to people who see it that they have an action item on their hands.

Here's my recommendation for a way forward:

CMake 3.4:

* Policies <= CMP0011 
-- emit unconditional warnings for each policy (no OLD anymore - 6 years 
old)

* Policies CMP0051 -> CMP0054
-- emit unconditional warnings for each policy (no OLD anymore - 3 releases 
old)

* Policies CMP0026, CMP0024
-- emit unconditional warning (CMP0026 warning will be in place for longer 
as many are affected, so start unconditional warning now). These are high 
priority because they make a better CMake implementation possible.

CMake 3.5:

* Policies CMP0001, CMP0003, CMP0004, CMP0006 -> CMP0010
-- emit unconditional errors for each policy (the ancient ones except 'the 
KDE4 policies')

* Policies CMP0055, CMP0056
-- emit unconditional warnings for each policy (no OLD anymore - 3 releases 
old)

* Policies selection
-- Select some other high-value policies to warn unconditionally on, eg 
CMP0031.


CMake 3.6:

* Policies CMP0051 -> CMP0054
-- emit unconditional errors for each policy (unconditional warning for two 
releases already)

* Policies CMP0058, CMP0063
-- emit unconditional warnings for each policy (no OLD anymore - 3 releases 
old)


CMake 3.7:

* Policies CMP0000, CMP0002, CMP0003, CMP0005, , CMP0011
-- Make 'the KDE4 policies' unconditional errors.


Of course all of this needs to be malleable. Let's see what the response is 
to the warning behavior in 3.4 if you apply it.

Thanks,

Steve.


-- 

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