summaryrefslogtreecommitdiffstats
path: root/Source/cmFileCommand.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2022-01-11 17:38:16 (GMT)
committerBrad King <brad.king@kitware.com>2022-01-11 17:46:06 (GMT)
commit41bebbe50a66dfe7bb32365bd119e7e679d0faf1 (patch)
treec14ba5cd347ed0765c8ba1aa8fa1168eee77c3cd /Source/cmFileCommand.cxx
parent4b8126fa409e8558f465c70eaa794dab82819d8d (diff)
downloadCMake-41bebbe50a66dfe7bb32365bd119e7e679d0faf1.zip
CMake-41bebbe50a66dfe7bb32365bd119e7e679d0faf1.tar.gz
CMake-41bebbe50a66dfe7bb32365bd119e7e679d0faf1.tar.bz2
file: Restore error capture in undocumented READ_ELF mode
Revise the error message added by commit 115ff6a347 (cmELF: Include the ELF parsing code unconditionally, 2021-06-17, v3.22.0-rc1~557^2) to honor the `CAPTURE_ERROR` option. This is needed by the call site in `BundleUtilities` to suppress errors on non-ELF files. Fixes: #23074
Diffstat (limited to 'Source/cmFileCommand.cxx')
-rw-r--r--Source/cmFileCommand.cxx11
1 files changed, 8 insertions, 3 deletions
diff --git a/Source/cmFileCommand.cxx b/Source/cmFileCommand.cxx
index fd0595d..c3ae228 100644
--- a/Source/cmFileCommand.cxx
+++ b/Source/cmFileCommand.cxx
@@ -1213,9 +1213,14 @@ bool HandleReadElfCommand(std::vector<std::string> const& args,
cmELF elf(fileNameArg.c_str());
if (!elf) {
- status.SetError(cmStrCat("READ_ELF given FILE \"", fileNameArg,
- "\" that is not a valid ELF file."));
- return false;
+ if (arguments.Error.empty()) {
+ status.SetError(cmStrCat("READ_ELF given FILE:\n ", fileNameArg,
+ "\nthat is not a valid ELF file."));
+ return false;
+ }
+ status.GetMakefile().AddDefinition(arguments.Error,
+ "not a valid ELF file");
+ return true;
}
if (!arguments.RPath.empty()) {