Alexander Neundorf wrote:
On Thursday 05 February 2009, Bill Hoffman wrote:
I have a release candidate (RC 11) for 2.6.3 ready for CMake.

This should be about the last one.  At this point I am only going to fix
regressions from previous releases of CMake into 2.6.3, so please try
this release.

I'm running it right now on kdelibs.

I noticed one thing.
I get now the warning about CMP0011 not being set, which is the policy which deals with the scope of cmake_policy(SET ...). This warning appears for FindKDE4Internal.cmake, since this sets up the policies for KDE4.
In FindKDE4Internal.cmake there is:

cmake_policy(VERSION 2.4.5)

Doesn't this imply cmake_policy(SET CMP0011 OLD) ?

Why do I get the warning then ?
Should the file which does find_package(KDE4)
, which ends up in FindKDE4Internal.cmake, set this policy before ?

Then every KDE developer would have to remember to do
cmake_policy(SET CMP0011 OLD) at the top level of his CMakeLists.txt, otherwise he gets this big warning. I don't think it is reasonable to expect that every developer knows the policy scoping details good enough to understand this and to remember this.

Policy version 2.4.5 would leave CMP0011 *unset* which causes the old behavior with a warning. See my recent response to Alan Irwin.

To support KDE's use case I delay the warning until after the include or find_package line has been processed. You need to set it in the same place you set CMP0003 and the others. Remember, I told you during the design discussion for this that you would need to add the code

if(POLICY CMP0011)
  cmake_policy(SET CMP0011 OLD) # or NEW
endif(POLICY CMP0011)

-Brad
_______________________________________________
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to