diff options
author | Brad King <brad.king@kitware.com> | 2021-04-20 16:11:50 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2021-04-21 14:45:16 (GMT) |
commit | 835896e985a0333e56623d16761dfa2b37d0a7e2 (patch) | |
tree | 250b2df52893ef0cc75296a5324f5cdf1a4f90e4 /Source/cmake.cxx | |
parent | 63ffe210365ce2d1dd67fcabcc67e20913f320a8 (diff) | |
download | CMake-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.cxx | 8 |
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; } |