On 09/08/2014 11:35 AM, Nils Gladitz wrote: > I updated the topic, squished and merged.
Thanks. I've updated the topic to include all the actual fixes for CMP0054 warnings within CMake's own code that I've found so far. I have a few more changes to request that you add to the topic: * The wording of the warning says what the change in behavior is, but does not inform the user that the old behavior is being used for compatibility. Currently without reading the policy documentation one might think from the messages that the logic is being executed differently than before. * In cmIfCommand we should avoid doing the lookups when the policy is NEW. Instead of calling mf->GetPolicyStatus on every step of the way, call it once at the beginning of the if() command execution and save the result in a member. Then in cmIfCommand::GetDefinitionIfUnquoted, check for quoting and the policy status before even trying to do the lookup. That should make processing of quoted arguments much faster because we won't have to check for a definition with every string value. * The CMP0054-keywords-NEW test does not cover "(" and ")". (Good catch on implementing those, BTW.) * The tests need to cover if() inside while() and foreach() as well as macro() and function(). Also add nested if() for completeness. Thanks, -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