summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2022-03-28 14:53:02 +0000
committerKitware Robot <kwrobot@kitware.com>2022-03-28 10:53:13 -0400
commit7f1573ea77104307539fda17c2f6a90938b0da25 (patch)
tree504e68302756ea7bdd4f0d8e469a46aa1941f7dd
parent0ab1bbb1ec7160c70972070261649a8de7a933c2 (diff)
parente41f1ef6ff732bb8f9745359c893ec093438419e (diff)
downloadcmake-7f1573ea77104307539fda17c2f6a90938b0da25.tar.gz
Merge topic 'cpack-ifw-validate-input' into release-3.23
e41f1ef6ff CPack/IFW: Add missing referenced source file validation Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Acked-by: Konstantin Podsvirov <konstantin@podsvirov.pro> Merge-request: !7116
-rw-r--r--Source/CPack/IFW/cmCPackIFWInstaller.cxx24
1 files changed, 22 insertions, 2 deletions
diff --git a/Source/CPack/IFW/cmCPackIFWInstaller.cxx b/Source/CPack/IFW/cmCPackIFWInstaller.cxx
index 6fc48480ef..92ff6df3b0 100644
--- a/Source/CPack/IFW/cmCPackIFWInstaller.cxx
+++ b/Source/CPack/IFW/cmCPackIFWInstaller.cxx
@@ -26,7 +26,7 @@ void cmCPackIFWInstaller::printSkippedOptionWarning(
cmCPackIFWLogger(
WARNING,
"Option "
- << optionName << " is set to \"" << optionValue
+ << optionName << " contains the value \"" << optionValue
<< "\" but will be skipped because the specified file does not exist."
<< std::endl);
}
@@ -276,7 +276,12 @@ void cmCPackIFWInstaller::ConfigureFromOptions()
// Control script
if (cmValue optIFW_CONTROL_SCRIPT =
this->GetOption("CPACK_IFW_PACKAGE_CONTROL_SCRIPT")) {
- this->ControlScript = *optIFW_CONTROL_SCRIPT;
+ if (!cmSystemTools::FileExists(optIFW_CONTROL_SCRIPT)) {
+ this->printSkippedOptionWarning("CPACK_IFW_PACKAGE_CONTROL_SCRIPT",
+ optIFW_CONTROL_SCRIPT);
+ } else {
+ this->ControlScript = *optIFW_CONTROL_SCRIPT;
+ }
}
// Resources
@@ -284,6 +289,13 @@ void cmCPackIFWInstaller::ConfigureFromOptions()
this->GetOption("CPACK_IFW_PACKAGE_RESOURCES")) {
this->Resources.clear();
cmExpandList(optIFW_PACKAGE_RESOURCES, this->Resources);
+ for (const auto& file : this->Resources) {
+ if (!cmSystemTools::FileExists(file)) {
+ // The warning will say skipped, but there will later be a hard error
+ // when the binarycreator tool tries to read the missing file.
+ this->printSkippedOptionWarning("CPACK_IFW_PACKAGE_RESOURCES", file);
+ }
+ }
}
// ProductImages
@@ -291,6 +303,14 @@ void cmCPackIFWInstaller::ConfigureFromOptions()
this->GetOption("CPACK_IFW_PACKAGE_PRODUCT_IMAGES")) {
this->ProductImages.clear();
cmExpandList(productImages, this->ProductImages);
+ for (const auto& file : this->ProductImages) {
+ if (!cmSystemTools::FileExists(file)) {
+ // The warning will say skipped, but there will later be a hard error
+ // when the binarycreator tool tries to read the missing file.
+ this->printSkippedOptionWarning("CPACK_IFW_PACKAGE_PRODUCT_IMAGES",
+ file);
+ }
+ }
}
// Run program, run program arguments, and run program description