diff options
Diffstat (limited to 'Source/cmSystemTools.cxx')
-rw-r--r-- | Source/cmSystemTools.cxx | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/Source/cmSystemTools.cxx b/Source/cmSystemTools.cxx index 9fc0060..5c1d5af 100644 --- a/Source/cmSystemTools.cxx +++ b/Source/cmSystemTools.cxx @@ -573,7 +573,6 @@ bool RunCommandViaWin32(const char* command, cmSystemTools::Error("No command specified"); return false; } - cmWin32ProcessExecution resProc; if(cmSystemTools::GetRunCommandHideConsole()) { @@ -586,6 +585,11 @@ bool RunCommandViaWin32(const char* command, } if ( !resProc.StartProcess(command, dir, verbose) ) { + output = resProc.GetOutput(); + if(verbose) + { + cmSystemTools::Stdout(output.c_str()); + } return false; } resProc.Wait(timeout); @@ -1148,6 +1152,15 @@ std::string cmSystemTools::ConvertToOutputPath(const char* path) #endif } +std::string cmSystemTools::ConvertToRunCommandPath(const char* path) +{ +#if defined(_WIN32) && !defined(__CYGWIN__) + return cmSystemTools::ConvertToWindowsOutputPath(path); +#else + return cmSystemTools::ConvertToUnixOutputPath(path); +#endif +} + bool cmSystemTools::StringEndsWith(const char* str1, const char* str2) { if ( !str1 || !str2 || strlen(str1) < strlen(str2) ) |