diff options
author | Bill Hoffman <bill.hoffman@kitware.com> | 2004-04-28 13:51:06 (GMT) |
---|---|---|
committer | Bill Hoffman <bill.hoffman@kitware.com> | 2004-04-28 13:51:06 (GMT) |
commit | d76c9f8195b5f98f5fd2a99c88094192b9719288 (patch) | |
tree | 569b432eb7f45145ad09dc1bc90c29661261c4fa /Source | |
parent | b2bddc9f0d81d79cc3839f20ad5475ffcb393876 (diff) | |
download | CMake-d76c9f8195b5f98f5fd2a99c88094192b9719288.zip CMake-d76c9f8195b5f98f5fd2a99c88094192b9719288.tar.gz CMake-d76c9f8195b5f98f5fd2a99c88094192b9719288.tar.bz2 |
ENH: add a numeric EQUAL to the IF statment, very useful for variable arguments in MACROS
Diffstat (limited to 'Source')
-rw-r--r-- | Source/cmIfCommand.cxx | 11 | ||||
-rw-r--r-- | Source/cmIfCommand.h | 4 |
2 files changed, 14 insertions, 1 deletions
diff --git a/Source/cmIfCommand.cxx b/Source/cmIfCommand.cxx index cf925df..830e1ba 100644 --- a/Source/cmIfCommand.cxx +++ b/Source/cmIfCommand.cxx @@ -259,6 +259,17 @@ bool cmIfCommand::IsTrue(const std::vector<std::string> &args, isValid = true; } + if (args.size() == 3 && (args[1] == "EQUAL")) + { + def = cmIfCommand::GetVariableOrString(args[0].c_str(), makefile); + def2 = cmIfCommand::GetVariableOrString(args[2].c_str(), makefile); + if(atof(def) == atof(def2)) + { + isTrue = false; + } + isValid = true; + } + if (args.size() == 3 && (args[1] == "STRLESS")) { def = cmIfCommand::GetVariableOrString(args[0].c_str(), makefile); diff --git a/Source/cmIfCommand.h b/Source/cmIfCommand.h index 05faac5..3dc72b9 100644 --- a/Source/cmIfCommand.h +++ b/Source/cmIfCommand.h @@ -137,8 +137,10 @@ public: " IF(string LESS number)\n" " IF(variable GREATER number)\n" " IF(string GREATER number)\n" + " IF(variable EQUAL number)\n" + " IF(string EQUAL number)\n" "True if the given string or variable's value is a valid number and " - "the inequality is true.\n" + "the inequality or equality is true.\n" " IF(variable STRLESS string)\n" " IF(string STRLESS string)\n" " IF(variable STRGREATER string)\n" |