diff options
Diffstat (limited to 'Source/cmSystemTools.cxx')
-rw-r--r-- | Source/cmSystemTools.cxx | 16 |
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. |