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"))
|
if (args.size() == 3 && (args[1] == "MATCHES"))
|
||||||
{
|
{
|
||||||
def = m_Makefile->GetDefinition(args[0].c_str());
|
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 we created a function blocker then set its args
|
||||||
if (f)
|
if (f)
|
||||||
{
|
{
|
||||||
|
|
|
@ -93,7 +93,10 @@ public:
|
||||||
"using (NOT define) (def AND def2) (def OR def2) (def MATCHES def2) "
|
"using (NOT define) (def AND def2) (def OR def2) (def MATCHES def2) "
|
||||||
"(COMMAND cmd) (EXISTS file) MATCHES checks if def matches the "
|
"(COMMAND cmd) (EXISTS file) MATCHES checks if def matches the "
|
||||||
"regular expression def2. COMMAND checks if the cmake command cmd "
|
"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);
|
cmTypeMacro(cmIfCommand, cmCommand);
|
||||||
|
|
Loading…
Reference in New Issue