Selaa lähdekoodia

cmMakefile: Make FindTarget const.

Stephen Kelly 12 vuotta sitten
vanhempi
sitoutus
37554acf43
2 muutettua tiedostoa jossa 6 lisäystä ja 8 poistoa
  1. 4 6
      Source/cmMakefile.cxx
  2. 2 2
      Source/cmMakefile.h

+ 4 - 6
Source/cmMakefile.cxx

@@ -3822,21 +3822,19 @@ const char* cmMakefile::GetFeature(const char* feature, const char* config)
   return 0;
 }
 
-cmTarget* cmMakefile::FindTarget(const char* name, bool excludeAliases)
+cmTarget* cmMakefile::FindTarget(const char* name, bool excludeAliases) const
 {
   if (!excludeAliases)
     {
-    std::map<std::string, cmTarget*>::iterator i
+    std::map<std::string, cmTarget*>::const_iterator i
                                               = this->AliasTargets.find(name);
     if (i != this->AliasTargets.end())
       {
       return i->second;
       }
     }
-  cmTargets& tgts = this->GetTargets();
-
-  cmTargets::iterator i = tgts.find ( name );
-  if ( i != tgts.end() )
+  cmTargets::iterator i = this->Targets.find( name );
+  if ( i != this->Targets.end() )
     {
     return &i->second;
     }

+ 2 - 2
Source/cmMakefile.h

@@ -533,7 +533,7 @@ public:
       this->GeneratorTargets = targets;
     }
 
-  cmTarget* FindTarget(const char* name, bool excludeAliases = false);
+  cmTarget* FindTarget(const char* name, bool excludeAliases = false) const;
 
   /** Find a target to use in place of the given name.  The target
       returned may be imported or built within the project.  */
@@ -902,7 +902,7 @@ protected:
   std::string ProjectName;    // project name
 
   // libraries, classes, and executables
-  cmTargets Targets;
+  mutable cmTargets Targets;
   std::map<std::string, cmTarget*> AliasTargets;
   cmGeneratorTargetsType GeneratorTargets;
   std::vector<cmSourceFile*> SourceFiles;