mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-02 03:39:43 -06:00
Fix: while() reports an error the same way as if()
With arguments list expanded.
This commit is contained in:
@@ -16,6 +16,7 @@
|
||||
#include "cmListFileCache.h"
|
||||
#include "cmMakefile.h"
|
||||
#include "cmMessageType.h"
|
||||
#include "cmOutputConverter.h"
|
||||
#include "cmSystemTools.h"
|
||||
#include "cmake.h"
|
||||
|
||||
@@ -100,16 +101,13 @@ bool cmWhileFunctionBlocker::Replay(std::vector<cmListFileFunction> functions,
|
||||
}
|
||||
|
||||
if (!isTrue && !errorString.empty()) {
|
||||
std::string err = "had incorrect arguments: ";
|
||||
for (cmListFileArgument const& arg : this->Args) {
|
||||
err += (arg.Delim ? "\"" : "");
|
||||
err += arg.Value;
|
||||
err += (arg.Delim ? "\"" : "");
|
||||
std::string err = "had incorrect arguments:\n ";
|
||||
for (cmExpandedCommandArgument const& i : expandedArguments) {
|
||||
err += " ";
|
||||
err += cmOutputConverter::EscapeForCMake(i.GetValue());
|
||||
}
|
||||
err += "(";
|
||||
err += "\n";
|
||||
err += errorString;
|
||||
err += ").";
|
||||
mf.GetCMakeInstance()->IssueMessage(messageType, err, whileBT);
|
||||
if (messageType == MessageType::FATAL_ERROR) {
|
||||
cmSystemTools::SetFatalErrorOccured();
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
CMake Error at unbalanced-parenthesis.cmake:[0-9]+ \(while\):
|
||||
had incorrect arguments: NOT \$\{var_with_paren\} IN_LIST some_list
|
||||
\(mismatched parenthesis in condition\).
|
||||
had incorrect arguments:
|
||||
|
||||
"NOT" "\(" "IN_LIST" "some_list"
|
||||
|
||||
mismatched parenthesis in condition
|
||||
Call Stack \(most recent call first\):
|
||||
CMakeLists\.txt:[0-9]+ \(include\)
|
||||
|
||||
Reference in New Issue
Block a user