On 2014-04-17 22:23, Ben Boeckel wrote:
On Thu, Apr 17, 2014 at 17:17:21 -0400, Matthew Woehlke wrote:
Alas, the only character that may not appear in a variable name is
'\0'. (And even that is more due to use of raw char* with no length
than intent, I bet.)
Actually, it's all std::string now, so you *could* use std::string(nuls,
len) to make one. But that means modifying the CMake code and shouldn't
be possible through CMakeLists.txt.
Probably that depends on whether a \0 escape is recognized? :-) Not that
I'm suggesting to add one, mind...
I keep hoping that one of these days CMake would define valid
identifiers as '[[:letter:]_][[:alnum:]_-]*'...
Make a policy for it. Watch the world burn :) .> I also don't know where
you'd stick the validator without a decent performance hit (the regex
engine is not the best) :(.
Where a variable is created (e.g. the SET command), presumably. I don't
think the performance hit should be so bad if only writes are checked,
should it?
Also, a hand-written check, e.g. using isalpha(), etc. could probably be
used rather than a regex.
May as well stick the restriction on function and macro names as
well.
Sure, we could. Though it's probably less important for functions as we
don't have implicit dereferencing thereof as a driving case.
--
Matthew
--
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/cgi-bin/mailman/listinfo/cmake-developers