Add additional <= and >= comparison operators

This adds the LESS_EQUAL, GREATER_EQUAL, and associated STR and VERSION
equivalents to use the combined <= and >= functionality.
This commit is contained in:
Chuck Atkins
2016-08-05 14:11:46 -04:00
committed by Brad King
parent 93b705a396
commit 02d177c9cc
18 changed files with 703 additions and 89 deletions
+6 -1
View File
@@ -485,7 +485,8 @@ bool cmStringCommand::HandleCompareCommand(
}
std::string mode = args[1];
if ((mode == "EQUAL") || (mode == "NOTEQUAL") || (mode == "LESS") ||
(mode == "GREATER")) {
(mode == "LESS_EQUAL") || (mode == "GREATER") ||
(mode == "GREATER_EQUAL")) {
if (args.size() < 5) {
std::string e = "sub-command COMPARE, mode ";
e += mode;
@@ -500,8 +501,12 @@ bool cmStringCommand::HandleCompareCommand(
bool result;
if (mode == "LESS") {
result = (left < right);
} else if (mode == "LESS_EQUAL") {
result = (left <= right);
} else if (mode == "GREATER") {
result = (left > right);
} else if (mode == "GREATER_EQUAL") {
result = (left >= right);
} else if (mode == "EQUAL") {
result = (left == right);
} else // if(mode == "NOTEQUAL")