$<STREQUAL:a,b> Generator expression gives back wrong result
I tested the strequal generator expression and it seems, that's not doing right. Checking the code:
static const struct StrEqualNode : public cmGeneratorExpressionNode
{
StrEqualNode() {}
int NumExpectedParameters() const override { return 2; }
std::string Evaluate(
const std::vector<std::string>& parameters,
cmGeneratorExpressionContext* /*context*/,
const GeneratorExpressionContent* /*content*/,
cmGeneratorExpressionDAGChecker* /*dagChecker*/) const override
{
return *parameters.begin() == parameters[1] ? "1" : "0";
}
} strEqualNode;
I think it just returns identical objects pointer, but no strcmp function is used.