瀏覽代碼

BUG: Do not complain about missing watched variables when they are accessd with IF(DEFINED VAR).

Brad King 18 年之前
父節點
當前提交
b8928b0c8e
共有 3 個文件被更改,包括 9 次插入2 次删除
  1. 1 1
      Source/cmIfCommand.cxx
  2. 7 1
      Source/cmMakefile.cxx
  3. 1 0
      Source/cmMakefile.h

+ 1 - 1
Source/cmIfCommand.cxx

@@ -315,7 +315,7 @@ bool cmIfCommand::IsTrue(const std::vector<std::string> &args,
           }
         else
           {
-          def = makefile->GetDefinition((argP1)->c_str());
+          def = makefile->GetDefinitionNoWatch((argP1)->c_str());
           }
         if(def)
           {

+ 7 - 1
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 )

+ 1 - 0
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;
   /**