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