mirror of
https://github.com/Kitware/CMake.git
synced 2026-04-25 15:49:08 -05:00
Genex: Add more extensive support for an unbounded number of parameters
Previously genex support for unbounded number of parameters required at least 1 parameter. We now support zero or more parameters, and two or more parameters.
This commit is contained in:
committed by
Brad King
parent
5e2d22c177
commit
2d4787fc4d
@@ -166,9 +166,13 @@ std::string GeneratorExpressionContent::EvaluateParameters(
|
|||||||
reportError(context, this->GetOriginalExpression(),
|
reportError(context, this->GetOriginalExpression(),
|
||||||
"$<" + identifier +
|
"$<" + identifier +
|
||||||
"> expression requires at least one parameter.");
|
"> expression requires at least one parameter.");
|
||||||
}
|
} else if (numExpected == cmGeneratorExpressionNode::TwoOrMoreParameters &&
|
||||||
if (numExpected == cmGeneratorExpressionNode::OneOrZeroParameters &&
|
parameters.size() < 2) {
|
||||||
parameters.size() > 1) {
|
reportError(context, this->GetOriginalExpression(),
|
||||||
|
"$<" + identifier +
|
||||||
|
"> expression requires at least two parameters.");
|
||||||
|
} else if (numExpected == cmGeneratorExpressionNode::OneOrZeroParameters &&
|
||||||
|
parameters.size() > 1) {
|
||||||
reportError(context, this->GetOriginalExpression(),
|
reportError(context, this->GetOriginalExpression(),
|
||||||
"$<" + identifier +
|
"$<" + identifier +
|
||||||
"> expression requires one or zero parameters.");
|
"> expression requires one or zero parameters.");
|
||||||
|
|||||||
@@ -20,7 +20,9 @@ struct cmGeneratorExpressionNode
|
|||||||
{
|
{
|
||||||
DynamicParameters = 0,
|
DynamicParameters = 0,
|
||||||
OneOrMoreParameters = -1,
|
OneOrMoreParameters = -1,
|
||||||
OneOrZeroParameters = -2
|
TwoOrMoreParameters = -2,
|
||||||
|
ZeroOrMoreParameters = -3,
|
||||||
|
OneOrZeroParameters = -4
|
||||||
};
|
};
|
||||||
virtual ~cmGeneratorExpressionNode() = default;
|
virtual ~cmGeneratorExpressionNode() = default;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user