From 05fb9379efa81ae3b4de42ee3055586b52298dff Mon Sep 17 00:00:00 2001 From: Bill Hoffman Date: Thu, 5 Jul 2001 17:52:31 -0400 Subject: [PATCH] ENH: add better error output --- Source/cmSystemTools.cxx | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/Source/cmSystemTools.cxx b/Source/cmSystemTools.cxx index 8f20ec5f4..b7e7cf196 100644 --- a/Source/cmSystemTools.cxx +++ b/Source/cmSystemTools.cxx @@ -780,9 +780,14 @@ bool cmSystemTools::RunCommand(const char* command, std::ifstream fin(tempFile.c_str()); if(!fin) { - cmSystemTools::Error(command, - " from RunCommand Failed to create output file: ", - tempFile.c_str()); + std::string errormsg = "RunCommand produced no output: command: \""; + errormsg += command; + errormsg += "\""; + errormsg += "\nOutput file: "; + errormsg += tempFile; + cmSystemTools::Error(errormsg.c_str()); + fin.close(); + cmSystemTools::RemoveFile(tempFile.c_str()); return false; } while(fin) @@ -790,6 +795,7 @@ bool cmSystemTools::RunCommand(const char* command, fin.getline(buffer, BUFFER_SIZE); output += buffer; } + fin.close(); cmSystemTools::RemoveFile(tempFile.c_str()); return true; #else