On Thu, Apr 17, 2014 at 17:17:21 -0400, Matthew Woehlke wrote: > set(" Linux" Windows) # succeeds
Even better: set(" Linux" Windows) > 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. > 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) :( . May as well stick the restriction on function and macro names as well. Not that you could call any function named in such a way, but better safe than sorry. --Ben -- 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