diff options
author | Peter Collingbourne <peter@pcc.me.uk> | 2012-02-18 16:32:47 (GMT) |
---|---|---|
committer | Peter Collingbourne <peter@pcc.me.uk> | 2012-02-18 20:33:33 (GMT) |
commit | 99856d537c996544bf495f33e6b058d83af4c6b7 (patch) | |
tree | 8c96408b7e7b75cc0b92b5d2c0cf44d77426f04b | |
parent | f999a59afe804063cebf4dd89ef99662829bf3e4 (diff) | |
download | CMake-99856d537c996544bf495f33e6b058d83af4c6b7.zip CMake-99856d537c996544bf495f33e6b058d83af4c6b7.tar.gz CMake-99856d537c996544bf495f33e6b058d83af4c6b7.tar.bz2 |
Ninja: Partially revert "win fixes: escape back slash/colon, use cd. as cmd.exe nop"
It introduced encoding rules in the wrong place, and broke the
CustomCommand test case.
This reverts commit 7fb2bb3e8b0dc7bc718aadc4ab9a74cb7fdb656e.
-rw-r--r-- | Source/CMakeLists.txt | 9 | ||||
-rw-r--r-- | Source/cmGlobalNinjaGenerator.cxx | 11 |
2 files changed, 7 insertions, 13 deletions
diff --git a/Source/CMakeLists.txt b/Source/CMakeLists.txt index 7cc56d7..7ddabbd 100644 --- a/Source/CMakeLists.txt +++ b/Source/CMakeLists.txt @@ -353,8 +353,9 @@ IF (WIN32) ENDIF(NOT UNIX) ENDIF (WIN32) - -SET(SRCS ${SRCS} +# Ninja only works on UNIX. +IF(UNIX) + SET(SRCS ${SRCS} cmGlobalNinjaGenerator.cxx cmGlobalNinjaGenerator.h cmNinjaTypes.h @@ -367,8 +368,8 @@ SET(SRCS ${SRCS} cmNinjaUtilityTargetGenerator.cxx cmNinjaUtilityTargetGenerator.h ) -ADD_DEFINITIONS(-DCMAKE_USE_NINJA) - + ADD_DEFINITIONS(-DCMAKE_USE_NINJA) +ENDIF(UNIX) # create a library used by the command line and the GUI ADD_LIBRARY(CMakeLib ${SRCS}) diff --git a/Source/cmGlobalNinjaGenerator.cxx b/Source/cmGlobalNinjaGenerator.cxx index 879a973..7ff33ba 100644 --- a/Source/cmGlobalNinjaGenerator.cxx +++ b/Source/cmGlobalNinjaGenerator.cxx @@ -59,7 +59,6 @@ static bool IsIdentChar(char c) (c == '_') || (c == '$') || (c == '\\'); } - std::string cmGlobalNinjaGenerator::EncodeIdent(const std::string &ident, std::ostream &vars) { if (std::find_if(ident.begin(), ident.end(), @@ -70,19 +69,14 @@ std::string cmGlobalNinjaGenerator::EncodeIdent(const std::string &ident, vars << names.str() << " = " << ident << "\n"; return "$" + names.str(); } else { - return EncodeLiteral(ident); + return ident; } } - std::string cmGlobalNinjaGenerator::EncodeLiteral(const std::string &lit) { std::string result = lit; cmSystemTools::ReplaceString(result, "$", "$$"); - cmSystemTools::ReplaceString(result, ":", "$:"); -#ifdef _WIN32 - cmSystemTools::ReplaceString(result, "/", "\\"); -#endif return result; } @@ -206,8 +200,7 @@ cmGlobalNinjaGenerator::WriteCustomCommandBuild(const std::string& command, this->AddCustomCommandRule(); cmNinjaVars vars; - - vars["COMMAND"] = EncodeLiteral(command); + vars["COMMAND"] = command; vars["DESC"] = EncodeLiteral(description); cmGlobalNinjaGenerator::WriteBuild(*this->BuildFileStream, |