cmSystemTools: Add PrintSingleCommand method

Add a method to print a command line for human reference by simply
double-quoting every argument.
This commit is contained in:
Brad King 2013-11-15 13:31:00 -05:00
parent ee6e4ac841
commit 0814d0a655
2 changed files with 19 additions and 0 deletions

View File

@ -795,6 +795,23 @@ bool cmSystemTools::RunSingleCommand(
dir, outputflag, timeout);
}
std::string
cmSystemTools::PrintSingleCommand(std::vector<std::string> const& command)
{
std::string commandStr;
const char* sep = "";
for(std::vector<std::string>::const_iterator i = command.begin();
i != command.end(); ++i)
{
commandStr += sep;
commandStr += "\"";
commandStr += *i;
commandStr += "\"";
sep = " ";
}
return commandStr;
}
bool cmSystemTools::DoesFileExistWithExtensions(
const char* name,
const std::vector<std::string>& headerExts)

View File

@ -239,6 +239,8 @@ public:
OutputOption outputflag = OUTPUT_MERGE,
double timeout = 0.0);
static std::string PrintSingleCommand(std::vector<std::string> const&);
/**
* Parse arguments out of a single string command
*/