adde less greater
This commit is contained in:
parent
0a3d0d24fd
commit
843da92405
|
@ -86,6 +86,62 @@ bool cmElseCommand::InitialPass(std::vector<std::string> const& args)
|
|||
}
|
||||
}
|
||||
|
||||
if (args.size() == 3 && (args[1] == "LESS"))
|
||||
{
|
||||
def = m_Makefile->GetDefinition(args[0].c_str());
|
||||
def2 = m_Makefile->GetDefinition(args[2].c_str());
|
||||
if (!def)
|
||||
{
|
||||
def = args[0].c_str();
|
||||
}
|
||||
if (!def2)
|
||||
{
|
||||
def2 = args[2].c_str();
|
||||
}
|
||||
if(atof(def) < atof(def2))
|
||||
{
|
||||
f = new cmIfFunctionBlocker();
|
||||
}
|
||||
}
|
||||
|
||||
if (args.size() == 3 && (args[1] == "GREATER"))
|
||||
{
|
||||
def = m_Makefile->GetDefinition(args[0].c_str());
|
||||
def2 = m_Makefile->GetDefinition(args[2].c_str());
|
||||
if (!def)
|
||||
{
|
||||
def = args[0].c_str();
|
||||
}
|
||||
if (!def2)
|
||||
{
|
||||
def2 = args[2].c_str();
|
||||
}
|
||||
if(atof(def) > atof(def2))
|
||||
{
|
||||
f = new cmIfFunctionBlocker();
|
||||
}
|
||||
}
|
||||
|
||||
if (args.size() == 3 && (args[1] == "STRLESS"))
|
||||
{
|
||||
def = m_Makefile->GetDefinition(args[0].c_str());
|
||||
def2 = m_Makefile->GetDefinition(args[2].c_str());
|
||||
if(strcmp(def,def2) < 0)
|
||||
{
|
||||
f = new cmIfFunctionBlocker();
|
||||
}
|
||||
}
|
||||
|
||||
if (args.size() == 3 && (args[1] == "STRGREATER"))
|
||||
{
|
||||
def = m_Makefile->GetDefinition(args[0].c_str());
|
||||
def2 = m_Makefile->GetDefinition(args[2].c_str());
|
||||
if(strcmp(def,def2) > 0)
|
||||
{
|
||||
f = new cmIfFunctionBlocker();
|
||||
}
|
||||
}
|
||||
|
||||
if (args.size() == 3 && (args[1] == "MATCHES"))
|
||||
{
|
||||
def = m_Makefile->GetDefinition(args[0].c_str());
|
||||
|
|
|
@ -149,6 +149,62 @@ bool cmIfCommand::InitialPass(std::vector<std::string> const& args)
|
|||
}
|
||||
}
|
||||
|
||||
if (args.size() == 3 && (args[1] == "LESS"))
|
||||
{
|
||||
def = m_Makefile->GetDefinition(args[0].c_str());
|
||||
def2 = m_Makefile->GetDefinition(args[2].c_str());
|
||||
if (!def)
|
||||
{
|
||||
def = args[0].c_str();
|
||||
}
|
||||
if (!def2)
|
||||
{
|
||||
def2 = args[2].c_str();
|
||||
}
|
||||
if(atof(def) >= atof(def2))
|
||||
{
|
||||
f = new cmIfFunctionBlocker();
|
||||
}
|
||||
}
|
||||
|
||||
if (args.size() == 3 && (args[1] == "GREATER"))
|
||||
{
|
||||
def = m_Makefile->GetDefinition(args[0].c_str());
|
||||
def2 = m_Makefile->GetDefinition(args[2].c_str());
|
||||
if (!def)
|
||||
{
|
||||
def = args[0].c_str();
|
||||
}
|
||||
if (!def2)
|
||||
{
|
||||
def2 = args[2].c_str();
|
||||
}
|
||||
if(atof(def) <= atof(def2))
|
||||
{
|
||||
f = new cmIfFunctionBlocker();
|
||||
}
|
||||
}
|
||||
|
||||
if (args.size() == 3 && (args[1] == "STRLESS"))
|
||||
{
|
||||
def = m_Makefile->GetDefinition(args[0].c_str());
|
||||
def2 = m_Makefile->GetDefinition(args[2].c_str());
|
||||
if(strcmp(def,def2) >= 0)
|
||||
{
|
||||
f = new cmIfFunctionBlocker();
|
||||
}
|
||||
}
|
||||
|
||||
if (args.size() == 3 && (args[1] == "STRGREATER"))
|
||||
{
|
||||
def = m_Makefile->GetDefinition(args[0].c_str());
|
||||
def2 = m_Makefile->GetDefinition(args[2].c_str());
|
||||
if(strcmp(def,def2) <= 0)
|
||||
{
|
||||
f = new cmIfFunctionBlocker();
|
||||
}
|
||||
}
|
||||
|
||||
// if we created a function blocker then set its args
|
||||
if (f)
|
||||
{
|
||||
|
|
|
@ -93,7 +93,10 @@ public:
|
|||
"using (NOT define) (def AND def2) (def OR def2) (def MATCHES def2) "
|
||||
"(COMMAND cmd) (EXISTS file) MATCHES checks if def matches the "
|
||||
"regular expression def2. COMMAND checks if the cmake command cmd "
|
||||
"is in this cmake executable. EXISTS file checks if file exists";
|
||||
"is in this cmake executable. EXISTS file checks if file exists."
|
||||
"Additionally you can do comparisons using LESS GREATER STRLESS "
|
||||
"and STRGREATER. LESS and GREATER do numeric comparison while "
|
||||
"STRLESS and STRGREATER do string comparisons.";
|
||||
}
|
||||
|
||||
cmTypeMacro(cmIfCommand, cmCommand);
|
||||
|
|
Loading…
Reference in New Issue