diff options
Diffstat (limited to 'Source')
-rw-r--r-- | Source/cmSystemTools.cxx | 10 | ||||
-rw-r--r-- | Source/cmSystemTools.h | 4 |
2 files changed, 8 insertions, 6 deletions
diff --git a/Source/cmSystemTools.cxx b/Source/cmSystemTools.cxx index 6e32bd9..8e59a35 100644 --- a/Source/cmSystemTools.cxx +++ b/Source/cmSystemTools.cxx @@ -1319,16 +1319,18 @@ cmSystemTools::RenameResult cmSystemTools::RenameFile( #endif } -void cmSystemTools::MoveFileIfDifferent(const std::string& source, - const std::string& destination) +cmsys::Status cmSystemTools::MoveFileIfDifferent( + const std::string& source, const std::string& destination) { + cmsys::Status res = {}; if (FilesDiffer(source, destination)) { if (RenameFile(source, destination)) { - return; + return res; } - CopyFileAlways(source, destination); + res = CopyFileAlways(source, destination); } RemoveFile(source); + return res; } void cmSystemTools::Glob(const std::string& directory, diff --git a/Source/cmSystemTools.h b/Source/cmSystemTools.h index 00a6c70..a07c749 100644 --- a/Source/cmSystemTools.h +++ b/Source/cmSystemTools.h @@ -211,8 +211,8 @@ public: std::string* err = nullptr); //! Rename a file if contents are different, delete the source otherwise - static void MoveFileIfDifferent(const std::string& source, - const std::string& destination); + static cmsys::Status MoveFileIfDifferent(const std::string& source, + const std::string& destination); /** * Run a single executable command |