diff options
-rw-r--r-- | Source/cmSystemTools.cxx | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/Source/cmSystemTools.cxx b/Source/cmSystemTools.cxx index 1b0cbc5..b6d6375 100644 --- a/Source/cmSystemTools.cxx +++ b/Source/cmSystemTools.cxx @@ -22,6 +22,8 @@ #include <ctype.h> #include "cmDirectory.h" #include "cmMakefile.h" +#include <errno.h> + // support for realpath call #ifndef _WIN32 @@ -1203,9 +1205,13 @@ void cmSystemTools::cmCopyFile(const char* source, std::ifstream fin(source); #endif if(!fin) - { - cmSystemTools::Error("CopyFile failed to open input file \"", - source, "\""); + { + std::string m = "CopyFile failed to open input file \""; + m += source; + m += "\""; + m += " System Error: "; + m += strerror(errno); + cmSystemTools::Error(m.c_str()); return; } @@ -1218,8 +1224,12 @@ void cmSystemTools::cmCopyFile(const char* source, #endif if(!fout) { - cmSystemTools::Error("CopyFile failed to open output file \"", - destination, "\""); + std::string m = "CopyFile failed to open output file \""; + m += destination; + m += "\""; + m += " System Error: "; + m += strerror(errno); + cmSystemTools::Error(m.c_str()); return; } |