summaryrefslogtreecommitdiffstats
path: root/Source/cmLocalGenerator.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2010-08-18 14:26:05 (GMT)
committerBrad King <brad.king@kitware.com>2010-08-18 14:26:05 (GMT)
commitcb9ea2647f66326dde34a15fde4d7d93a5c766ac (patch)
treead4a77d77ff103a57c39fc550e0ccd26d97029bd /Source/cmLocalGenerator.cxx
parent5383657357b35481b5ff676736e36927339bea1c (diff)
downloadCMake-cb9ea2647f66326dde34a15fde4d7d93a5c766ac.zip
CMake-cb9ea2647f66326dde34a15fde4d7d93a5c766ac.tar.gz
CMake-cb9ea2647f66326dde34a15fde4d7d93a5c766ac.tar.bz2
Remove cmSystemTools::EscapeSpaces method
The last remaining call to this method exists only for compatibility. Remove the method and put its implementation inline in place of the last call.
Diffstat (limited to 'Source/cmLocalGenerator.cxx')
-rw-r--r--Source/cmLocalGenerator.cxx24
1 files changed, 18 insertions, 6 deletions
diff --git a/Source/cmLocalGenerator.cxx b/Source/cmLocalGenerator.cxx
index 07c92e5..bac0223 100644
--- a/Source/cmLocalGenerator.cxx
+++ b/Source/cmLocalGenerator.cxx
@@ -2810,17 +2810,29 @@ cmLocalGenerator
std::string cmLocalGenerator::EscapeForShellOldStyle(const char* str)
{
std::string result;
- bool forceOn = cmSystemTools::GetForceUnixPaths();
- if(forceOn && this->WindowsShell)
+#if defined(_WIN32) && !defined(__CYGWIN__)
+ // if there are spaces
+ std::string temp = str;
+ if (temp.find(" ") != std::string::npos &&
+ temp.find("\"")==std::string::npos)
{
- cmSystemTools::SetForceUnixPaths(false);
+ result = "\"";
+ result += str;
+ result += "\"";
+ return result;
}
- result = cmSystemTools::EscapeSpaces(str);
- if(forceOn && this->WindowsShell)
+ return str;
+#else
+ for(const char* ch = str; *ch != '\0'; ++ch)
{
- cmSystemTools::SetForceUnixPaths(true);
+ if(*ch == ' ')
+ {
+ result += '\\';
+ }
+ result += *ch;
}
return result;
+#endif
}
//----------------------------------------------------------------------------