From 9362440a0b9193c417b42c50495d0a3ea6e098c4 Mon Sep 17 00:00:00 2001 From: Peter Collingbourne Date: Sat, 18 Feb 2012 19:04:55 +0000 Subject: Ninja: Identifier encoding rules for ' ' and ':' --- Source/cmGlobalNinjaGenerator.cxx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Source/cmGlobalNinjaGenerator.cxx b/Source/cmGlobalNinjaGenerator.cxx index 7ff33ba..e9264ec 100644 --- a/Source/cmGlobalNinjaGenerator.cxx +++ b/Source/cmGlobalNinjaGenerator.cxx @@ -56,7 +56,8 @@ static bool IsIdentChar(char c) ('a' <= c && c <= 'z') || ('+' <= c && c <= '9') || // +,-./ and numbers ('A' <= c && c <= 'Z') || - (c == '_') || (c == '$') || (c == '\\'); + (c == '_') || (c == '$') || (c == '\\') || + (c == ' ') || (c == ':'); } std::string cmGlobalNinjaGenerator::EncodeIdent(const std::string &ident, @@ -69,7 +70,10 @@ std::string cmGlobalNinjaGenerator::EncodeIdent(const std::string &ident, vars << names.str() << " = " << ident << "\n"; return "$" + names.str(); } else { - return ident; + std::string result = ident; + cmSystemTools::ReplaceString(result, " ", "$ "); + cmSystemTools::ReplaceString(result, ":", "$:"); + return result; } } -- cgit v0.12