summaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
Diffstat (limited to 'Source')
-rw-r--r--Source/cmSystemTools.cxx10
-rw-r--r--Source/cmSystemTools.h4
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