From b8928b0c8e2d6e649cf52d28021cf349194f2485 Mon Sep 17 00:00:00 2001 From: Brad King Date: Thu, 17 May 2007 15:12:13 -0400 Subject: BUG: Do not complain about missing watched variables when they are accessd with IF(DEFINED VAR). --- Source/cmIfCommand.cxx | 2 +- Source/cmMakefile.cxx | 8 +++++++- Source/cmMakefile.h | 1 + 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/Source/cmIfCommand.cxx b/Source/cmIfCommand.cxx index e28956f..2814f72 100644 --- a/Source/cmIfCommand.cxx +++ b/Source/cmIfCommand.cxx @@ -315,7 +315,7 @@ bool cmIfCommand::IsTrue(const std::vector &args, } else { - def = makefile->GetDefinition((argP1)->c_str()); + def = makefile->GetDefinitionNoWatch((argP1)->c_str()); } if(def) { diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx index 50270b4..9f05114 100644 --- a/Source/cmMakefile.cxx +++ b/Source/cmMakefile.cxx @@ -1633,7 +1633,7 @@ const char* cmMakefile::GetRequiredDefinition(const char* name) const return ret; } -const char* cmMakefile::GetDefinition(const char* name) const +const char* cmMakefile::GetDefinitionNoWatch(const char* name) const { const char* def = 0; DefinitionMap::const_iterator pos = this->Definitions.find(name); @@ -1645,6 +1645,12 @@ const char* cmMakefile::GetDefinition(const char* name) const { def = this->GetCacheManager()->GetCacheValue(name); } + return def; +} + +const char* cmMakefile::GetDefinition(const char* name) const +{ + const char* def = this->GetDefinitionNoWatch(name); #ifdef CMAKE_BUILD_WITH_CMAKE cmVariableWatch* vv = this->GetVariableWatch(); if ( vv ) diff --git a/Source/cmMakefile.h b/Source/cmMakefile.h index 68780cf..1ea866c 100644 --- a/Source/cmMakefile.h +++ b/Source/cmMakefile.h @@ -492,6 +492,7 @@ public: * cache is then queried. */ const char* GetDefinition(const char*) const; + const char* GetDefinitionNoWatch(const char*) const; const char* GetSafeDefinition(const char*) const; const char* GetRequiredDefinition(const char* name) const; /** -- cgit v0.12