From c2d6835c178b37301c3d0cec9e575c59913fd617 Mon Sep 17 00:00:00 2001 From: Jonathan Marler Date: Tue, 19 Sep 2017 09:07:27 -0600 Subject: cmSystemTools: Teach RunSingleCommand another way to report exceptions If the caller captures stdout but not stderr then report exceptions through stdout instead of dropping them. --- Source/cmSystemTools.cxx | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Source/cmSystemTools.cxx b/Source/cmSystemTools.cxx index 5f2737d..e548b1f 100644 --- a/Source/cmSystemTools.cxx +++ b/Source/cmSystemTools.cxx @@ -803,6 +803,8 @@ bool cmSystemTools::RunSingleCommand(std::vector const& command, } if (captureStdErr) { captureStdErr->append(exception_str, strlen(exception_str)); + } else if (captureStdOut) { + captureStdOut->append(exception_str, strlen(exception_str)); } result = false; } else if (cmsysProcess_GetState(cp) == cmsysProcess_State_Error) { @@ -812,6 +814,8 @@ bool cmSystemTools::RunSingleCommand(std::vector const& command, } if (captureStdErr) { captureStdErr->append(error_str, strlen(error_str)); + } else if (captureStdOut) { + captureStdOut->append(error_str, strlen(error_str)); } result = false; } else if (cmsysProcess_GetState(cp) == cmsysProcess_State_Expired) { -- cgit v0.12