modified MATCHES to handle non variables

This commit is contained in:
Bill Hoffman 2002-06-20 10:39:58 -04:00
parent 159338bcf8
commit 20d9083455
2 changed files with 10 additions and 2 deletions

View File

@ -145,10 +145,14 @@ bool cmElseCommand::InitialPass(std::vector<std::string> const& args)
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());
if (!def)
{
def = args[0].c_str();
}
cmRegularExpression regEntry(args[2].c_str()); cmRegularExpression regEntry(args[2].c_str());
// check for black line or comment // check for black line or comment
if (def && regEntry.find(def)) if (regEntry.find(def))
{ {
f = new cmIfFunctionBlocker(); f = new cmIfFunctionBlocker();
} }

View File

@ -140,10 +140,14 @@ bool cmIfCommand::InitialPass(std::vector<std::string> const& args)
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());
if (!def)
{
def = args[0].c_str();
}
cmRegularExpression regEntry(args[2].c_str()); cmRegularExpression regEntry(args[2].c_str());
// check for black line or comment // check for black line or comment
if (!def || !regEntry.find(def)) if (!regEntry.find(def))
{ {
f = new cmIfFunctionBlocker(); f = new cmIfFunctionBlocker();
} }