summaryrefslogtreecommitdiffstats
path: root/Source/cmake.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2021-04-20 16:11:50 (GMT)
committerBrad King <brad.king@kitware.com>2021-04-21 14:45:16 (GMT)
commit835896e985a0333e56623d16761dfa2b37d0a7e2 (patch)
tree250b2df52893ef0cc75296a5324f5cdf1a4f90e4 /Source/cmake.cxx
parent63ffe210365ce2d1dd67fcabcc67e20913f320a8 (diff)
downloadCMake-835896e985a0333e56623d16761dfa2b37d0a7e2.zip
CMake-835896e985a0333e56623d16761dfa2b37d0a7e2.tar.gz
CMake-835896e985a0333e56623d16761dfa2b37d0a7e2.tar.bz2
cmake: Improve error message when failing to update generation timestamp
Include the underlying system error description. Issue: #21571, #22086
Diffstat (limited to 'Source/cmake.cxx')
-rw-r--r--Source/cmake.cxx8
1 files changed, 6 insertions, 2 deletions
diff --git a/Source/cmake.cxx b/Source/cmake.cxx
index af3a504..d24e268 100644
--- a/Source/cmake.cxx
+++ b/Source/cmake.cxx
@@ -3074,12 +3074,16 @@ static bool cmakeCheckStampFile(const std::string& stampName)
cmsys::ofstream stamp(stampTemp.c_str());
stamp << "# CMake generation timestamp file for this directory.\n";
}
- if (cmSystemTools::RenameFile(stampTemp, stampName)) {
+ std::string err;
+ if (cmSystemTools::RenameFile(stampTemp, stampName,
+ cmSystemTools::Replace::Yes, &err) ==
+ cmSystemTools::RenameResult::Success) {
// CMake does not need to re-run because the stamp file is up-to-date.
return true;
}
cmSystemTools::RemoveFile(stampTemp);
- cmSystemTools::Error("Cannot restore timestamp " + stampName);
+ cmSystemTools::Error(
+ cmStrCat("Cannot restore timestamp \"", stampName, "\": ", err));
return false;
}