summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCraig Scott <craig.scott@crascit.com>2022-08-26 10:53:38 (GMT)
committerKitware Robot <kwrobot@kitware.com>2022-08-26 10:53:46 (GMT)
commitbbda95e7bde9e97d1d03322c6a54e89871045a3b (patch)
tree1cddc951a2c7bb8242345c70cb69fd8f8cefe7ab
parent8a47cd4b7e70cfb25329a92873300cc31eabd076 (diff)
parent666b3c6f1305e4cb9d42bead935f95debb6cb543 (diff)
downloadCMake-bbda95e7bde9e97d1d03322c6a54e89871045a3b.zip
CMake-bbda95e7bde9e97d1d03322c6a54e89871045a3b.tar.gz
CMake-bbda95e7bde9e97d1d03322c6a54e89871045a3b.tar.bz2
Merge topic 'file-DOWNLOAD-existing-file-matched-message'
666b3c6f13 Help: Clarify file(DOWNLOAD) behavior for existing file with same hash 87a40b720a file(DOWNLOAD): Fix message for existing file with matching hash Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7599
-rw-r--r--Help/command/file.rst7
-rw-r--r--Source/cmFileCommand.cxx2
2 files changed, 6 insertions, 3 deletions
diff --git a/Help/command/file.rst b/Help/command/file.rst
index 3374d2d..fbe2a81 100644
--- a/Help/command/file.rst
+++ b/Help/command/file.rst
@@ -1121,8 +1121,11 @@ Additional options to ``DOWNLOAD`` are:
Verify that the downloaded content hash matches the expected value, where
``ALGO`` is one of the algorithms supported by ``file(<HASH>)``.
- If it does not match, the operation fails with an error. It is an error to
- specify this if ``DOWNLOAD`` is not given a ``<file>``.
+ If the file already exists and matches the hash, the download is skipped.
+ If the file already exists and does not match the hash, the file is
+ downloaded again. If after download the file does not match the hash, the
+ operation fails with an error. It is an error to specify this option if
+ ``DOWNLOAD`` is not given a ``<file>``.
``EXPECTED_MD5 <value>``
Historical short-hand for ``EXPECTED_HASH MD5=<value>``. It is an error to
diff --git a/Source/cmFileCommand.cxx b/Source/cmFileCommand.cxx
index 330d991..7810040 100644
--- a/Source/cmFileCommand.cxx
+++ b/Source/cmFileCommand.cxx
@@ -1914,7 +1914,7 @@ bool HandleDownloadCommand(std::vector<std::string> const& args,
std::string msg;
std::string actualHash = hash->HashFile(file);
if (actualHash == expectedHash) {
- msg = cmStrCat("returning early; file already exists with expected ",
+ msg = cmStrCat("skipping download as file already exists with expected ",
hashMatchMSG, '"');
if (!statusVar.empty()) {
status.GetMakefile().AddDefinition(statusVar, cmStrCat(0, ";\"", msg));