On 09/04/2014 11:58 AM, Nils Gladitz wrote: > Thanks, that actually sounds doable. > > I'll give it a try.
Good work on the topic so far. I have a few more thoughts: - The dashboard submissions that bootstrap got many CMP0054 warnings. Most of them are the same warning repeated due to presence in a macro or loop. Please update the warning to not warn on the same line more than once. A set<> of already-emitted warning lines can be kept somewhere. - I think we can generalize the policy a bit further. Consider: set(x EXISTS) if("${x}" STREQUAL "EXISTS") Currently that will get an error because the evaluated variable spells "EXISTS" which is treated as a keyword. The policy could also make if() honor such keywords only when they are unquoted. - The new cmExpandedCommandArgument class interface could be simplified by making it derive from std::string and then just add the boolean as an extra member. - In the documentation we need to be precise about when the expansion is still allowed. The cmake-language(7) manual defines unquoted, "quoted", and [[bracket]] arguments as distinct argument types. We should use the same terminology here. You can even link back to the manual with cross-reference syntax: :ref:`Bracket Argument` :ref:`Quoted Argument` :ref:`Unquoted Argument` Also please extend the test cases for this policy to cover: - All if() command conditions that do variable-or-string. - if() inside a macro() and a function(), covering each combination of policy settings when the macro/function is recorded and when it is invoked. The policy value should be that when the macro/function was recorded. 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