summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndy Cedilnik <andy.cedilnik@kitware.com>2005-02-17 15:51:18 (GMT)
committerAndy Cedilnik <andy.cedilnik@kitware.com>2005-02-17 15:51:18 (GMT)
commitad5115d00f4753970187739c20360d922b36e7b1 (patch)
tree3cc2f54a2031d00c886a4541bab078d68227f81e
parent0fd1c5d8091569e1a94b37b5388422d55ba222c9 (diff)
downloadCMake-ad5115d00f4753970187739c20360d922b36e7b1.zip
CMake-ad5115d00f4753970187739c20360d922b36e7b1.tar.gz
CMake-ad5115d00f4753970187739c20360d922b36e7b1.tar.bz2
ENH: Add support for single '
-rw-r--r--Source/cmSystemTools.cxx16
1 files changed, 16 insertions, 0 deletions
diff --git a/Source/cmSystemTools.cxx b/Source/cmSystemTools.cxx
index 07d46ef..556dcaf 100644
--- a/Source/cmSystemTools.cxx
+++ b/Source/cmSystemTools.cxx
@@ -359,6 +359,7 @@ std::vector<cmStdString> cmSystemTools::ParseArguments(const char* command)
if ( command[0] != '/' && command[1] == ':' && command[2] == '\\' ||
command[0] == '\"' && command[1] != '/' && command[2] == ':' && command[3] == '\\' ||
+ command[0] == '\'' && command[1] != '/' && command[2] == ':' && command[3] == '\\' ||
command[0] == '\\' && command[1] == '\\')
{
win_path = true;
@@ -387,6 +388,21 @@ std::vector<cmStdString> cmSystemTools::ParseArguments(const char* command)
}
args.push_back(arg);
}
+ else if(*c == '\'')
+ {
+ // Parse a quoted argument.
+ ++c;
+ while(*c && *c != '\'')
+ {
+ arg.append(1, *c);
+ ++c;
+ }
+ if(*c)
+ {
+ ++c;
+ }
+ args.push_back(arg);
+ }
else if(*c)
{
// Parse an unquoted argument.