cmListCommand: check list(FILTER) operation before the list

A future commit will make the not-a-list case a success, but invalid
operations should still be diagnosed in that case.
This commit is contained in:
Ben Boeckel
2018-10-11 17:22:45 -04:00
parent e2dd6ac977
commit bf572ac952

View File

@@ -1289,14 +1289,6 @@ bool cmListCommand::HandleFilterCommand(std::vector<std::string> const& args)
return false;
}
const std::string& listName = args[1];
// expand the variable
std::vector<std::string> varArgsExpanded;
if (!this->GetList(varArgsExpanded, listName)) {
this->SetError("sub-command FILTER requires list to be present.");
return false;
}
const std::string& op = args[2];
bool includeMatches;
if (op == "INCLUDE") {
@@ -1308,6 +1300,14 @@ bool cmListCommand::HandleFilterCommand(std::vector<std::string> const& args)
return false;
}
const std::string& listName = args[1];
// expand the variable
std::vector<std::string> varArgsExpanded;
if (!this->GetList(varArgsExpanded, listName)) {
this->SetError("sub-command FILTER requires list to be present.");
return false;
}
const std::string& mode = args[3];
if (mode == "REGEX") {
if (args.size() != 5) {