summaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2013-11-15 18:31:00 (GMT)
committerBrad King <brad.king@kitware.com>2013-11-15 19:40:55 (GMT)
commit0814d0a6559ed3634dafb372f34491407a27c5e8 (patch)
tree3d007775dc63f56ed46a30e02eb54d8c8ab4c356 /Source
parentee6e4ac841d8094b59cd0a48c61d7ca3b68c68c2 (diff)
downloadCMake-0814d0a6559ed3634dafb372f34491407a27c5e8.zip
CMake-0814d0a6559ed3634dafb372f34491407a27c5e8.tar.gz
CMake-0814d0a6559ed3634dafb372f34491407a27c5e8.tar.bz2
cmSystemTools: Add PrintSingleCommand method
Add a method to print a command line for human reference by simply double-quoting every argument.
Diffstat (limited to 'Source')
-rw-r--r--Source/cmSystemTools.cxx17
-rw-r--r--Source/cmSystemTools.h2
2 files changed, 19 insertions, 0 deletions
diff --git a/Source/cmSystemTools.cxx b/Source/cmSystemTools.cxx
index 8a0d8dc..b3dbd05 100644
--- a/Source/cmSystemTools.cxx
+++ b/Source/cmSystemTools.cxx
@@ -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)
diff --git a/Source/cmSystemTools.h b/Source/cmSystemTools.h
index 95c7029..4e854c8 100644
--- a/Source/cmSystemTools.h
+++ b/Source/cmSystemTools.h
@@ -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
*/