Kaynağa Gözat

Merge topic 'constify'

af4c109 cmGeneratorTarget: Make some accessors const.
6bdea06 cmTarget: Make some accessors const.
Brad King 12 yıl önce
ebeveyn
işleme
eb3761ae68
4 değiştirilmiş dosya ile 36 ekleme ve 35 silme
  1. 12 11
      Source/cmGeneratorTarget.cxx
  2. 10 10
      Source/cmGeneratorTarget.h
  3. 7 7
      Source/cmTarget.cxx
  4. 7 7
      Source/cmTarget.h

+ 12 - 11
Source/cmGeneratorTarget.cxx

@@ -42,16 +42,16 @@ const char *cmGeneratorTarget::GetName() const
 }
 
 //----------------------------------------------------------------------------
-const char *cmGeneratorTarget::GetProperty(const char *prop)
+const char *cmGeneratorTarget::GetProperty(const char *prop) const
 {
   return this->Target->GetProperty(prop);
 }
 
 //----------------------------------------------------------------------------
 std::vector<cmSourceFile*> const*
-cmGeneratorTarget::GetSourceDepends(cmSourceFile* sf)
+cmGeneratorTarget::GetSourceDepends(cmSourceFile* sf) const
 {
-  SourceEntriesType::iterator i = this->SourceEntries.find(sf);
+  SourceEntriesType::const_iterator i = this->SourceEntries.find(sf);
   if(i != this->SourceEntries.end())
     {
     return &i->second.Depends;
@@ -61,7 +61,7 @@ cmGeneratorTarget::GetSourceDepends(cmSourceFile* sf)
 
 //----------------------------------------------------------------------------
 bool cmGeneratorTarget::IsSystemIncludeDirectory(const char *dir,
-                                                 const char *config)
+                                                 const char *config) const
 {
   std::string config_upper;
   if(config && *config)
@@ -70,7 +70,7 @@ bool cmGeneratorTarget::IsSystemIncludeDirectory(const char *dir,
     }
 
   typedef std::map<std::string, std::vector<std::string> > IncludeCacheType;
-  IncludeCacheType::iterator iter =
+  IncludeCacheType::const_iterator iter =
       this->SystemIncludesCache.find(config_upper);
 
   if (iter == this->SystemIncludesCache.end())
@@ -111,13 +111,13 @@ bool cmGeneratorTarget::IsSystemIncludeDirectory(const char *dir,
 }
 
 //----------------------------------------------------------------------------
-bool cmGeneratorTarget::GetPropertyAsBool(const char *prop)
+bool cmGeneratorTarget::GetPropertyAsBool(const char *prop) const
 {
   return this->Target->GetPropertyAsBool(prop);
 }
 
 //----------------------------------------------------------------------------
-std::vector<cmSourceFile*> const& cmGeneratorTarget::GetSourceFiles()
+std::vector<cmSourceFile*> const& cmGeneratorTarget::GetSourceFiles() const
 {
   return this->Target->GetSourceFiles();
 }
@@ -270,7 +270,8 @@ void cmGeneratorTarget::LookupObjectLibraries()
 }
 
 //----------------------------------------------------------------------------
-void cmGeneratorTarget::UseObjectLibraries(std::vector<std::string>& objs)
+void
+cmGeneratorTarget::UseObjectLibraries(std::vector<std::string>& objs) const
 {
   for(std::vector<cmTarget*>::const_iterator
         ti = this->ObjectLibraries.begin();
@@ -571,7 +572,7 @@ void cmGeneratorTarget::TraceDependencies()
 
 //----------------------------------------------------------------------------
 void cmGeneratorTarget::GetAppleArchs(const char* config,
-                             std::vector<std::string>& archVec)
+                             std::vector<std::string>& archVec) const
 {
   const char* archs = 0;
   if(config && *config)
@@ -591,7 +592,7 @@ void cmGeneratorTarget::GetAppleArchs(const char* config,
 }
 
 //----------------------------------------------------------------------------
-const char* cmGeneratorTarget::GetCreateRuleVariable()
+const char* cmGeneratorTarget::GetCreateRuleVariable() const
 {
   switch(this->GetType())
     {
@@ -617,7 +618,7 @@ std::vector<std::string> cmGeneratorTarget::GetIncludeDirectories(
 }
 
 //----------------------------------------------------------------------------
-void cmGeneratorTarget::GenerateTargetManifest(const char* config)
+void cmGeneratorTarget::GenerateTargetManifest(const char* config) const
 {
   if (this->Target->IsImported())
     {

+ 10 - 10
Source/cmGeneratorTarget.h

@@ -28,9 +28,9 @@ public:
 
   int GetType() const;
   const char *GetName() const;
-  const char *GetProperty(const char *prop);
-  bool GetPropertyAsBool(const char *prop);
-  std::vector<cmSourceFile*> const& GetSourceFiles();
+  const char *GetProperty(const char *prop) const;
+  bool GetPropertyAsBool(const char *prop) const;
+  std::vector<cmSourceFile*> const& GetSourceFiles() const;
 
   cmTarget* Target;
   cmMakefile* Makefile;
@@ -60,22 +60,22 @@ public:
 
   std::vector<cmTarget*> ObjectLibraries;
 
-  void UseObjectLibraries(std::vector<std::string>& objs);
+  void UseObjectLibraries(std::vector<std::string>& objs) const;
 
   void GetAppleArchs(const char* config,
-                     std::vector<std::string>& archVec);
+                     std::vector<std::string>& archVec) const;
 
   ///! Return the rule variable used to create this type of target,
   //  need to add CMAKE_(LANG) for full name.
-  const char* GetCreateRuleVariable();
+  const char* GetCreateRuleVariable() const;
 
   /** Get the include directories for this target.  */
   std::vector<std::string> GetIncludeDirectories(const char *config);
 
-  bool IsSystemIncludeDirectory(const char *dir, const char *config);
+  bool IsSystemIncludeDirectory(const char *dir, const char *config) const;
 
   /** Add the target output files to the global generator manifest.  */
-  void GenerateTargetManifest(const char* config);
+  void GenerateTargetManifest(const char* config) const;
 
   /**
    * Trace through the source files in this target and add al source files
@@ -87,14 +87,14 @@ public:
   void LookupObjectLibraries();
 
   /** Get sources that must be built before the given source.  */
-  std::vector<cmSourceFile*> const* GetSourceDepends(cmSourceFile* sf);
+  std::vector<cmSourceFile*> const* GetSourceDepends(cmSourceFile* sf) const;
 
   struct SourceEntry { std::vector<cmSourceFile*> Depends; };
   typedef std::map<cmSourceFile*, SourceEntry> SourceEntriesType;
   SourceEntriesType SourceEntries;
 
 private:
-  std::map<std::string, std::vector<std::string> > SystemIncludesCache;
+  mutable std::map<std::string, std::vector<std::string> > SystemIncludesCache;
 
   cmGeneratorTarget(cmGeneratorTarget const&);
   void operator=(cmGeneratorTarget const&);

+ 7 - 7
Source/cmTarget.cxx

@@ -507,7 +507,7 @@ bool cmTarget::FindSourceFiles()
 }
 
 //----------------------------------------------------------------------------
-std::vector<cmSourceFile*> const& cmTarget::GetSourceFiles()
+std::vector<cmSourceFile*> const& cmTarget::GetSourceFiles() const
 {
   return this->SourceFiles;
 }
@@ -3086,7 +3086,7 @@ std::string cmTarget::GetSOName(const char* config) const
 }
 
 //----------------------------------------------------------------------------
-bool cmTarget::HasMacOSXRpath(const char* config)
+bool cmTarget::HasMacOSXRpath(const char* config) const
 {
   bool install_name_is_rpath = false;
   bool macosx_rpath = this->GetPropertyAsBool("MACOSX_RPATH");
@@ -3233,7 +3233,7 @@ cmTarget::GetFullNameImported(const char* config, bool implib) const
 //----------------------------------------------------------------------------
 void cmTarget::GetFullNameComponents(std::string& prefix, std::string& base,
                                      std::string& suffix, const char* config,
-                                     bool implib)
+                                     bool implib) const
 {
   this->GetFullNameInternal(config, implib, prefix, base, suffix);
 }
@@ -3669,7 +3669,7 @@ bool cmTarget::HaveInstallTreeRPATH() const
 }
 
 //----------------------------------------------------------------------------
-bool cmTarget::NeedRelinkBeforeInstall(const char* config)
+bool cmTarget::NeedRelinkBeforeInstall(const char* config) const
 {
   // Only executables and shared libraries can have an rpath and may
   // need relinking.
@@ -3732,7 +3732,7 @@ bool cmTarget::NeedRelinkBeforeInstall(const char* config)
 }
 
 //----------------------------------------------------------------------------
-std::string cmTarget::GetInstallNameDirForBuildTree(const char* config)
+std::string cmTarget::GetInstallNameDirForBuildTree(const char* config) const
 {
   // If building directly for installation then the build tree install_name
   // is the same as the install tree.
@@ -3765,7 +3765,7 @@ std::string cmTarget::GetInstallNameDirForBuildTree(const char* config)
 }
 
 //----------------------------------------------------------------------------
-std::string cmTarget::GetInstallNameDirForInstallTree()
+std::string cmTarget::GetInstallNameDirForInstallTree() const
 {
   if(this->Makefile->IsOn("CMAKE_PLATFORM_HAS_INSTALLNAME"))
     {
@@ -5802,7 +5802,7 @@ std::string cmTarget::BuildMacContentDirectory(const std::string& base,
 
 //----------------------------------------------------------------------------
 std::string cmTarget::GetMacContentDirectory(const char* config,
-                                             bool implib)
+                                             bool implib) const
 {
   // Start with the output directory for the target.
   std::string fpath = this->GetDirectory(config, implib);

+ 7 - 7
Source/cmTarget.h

@@ -124,7 +124,7 @@ public:
   /**
    * Get the list of the source files used by this target
    */
-  std::vector<cmSourceFile*> const& GetSourceFiles();
+  std::vector<cmSourceFile*> const& GetSourceFiles() const;
   void AddSourceFile(cmSourceFile* sf);
   std::vector<std::string> const& GetObjectLibraries() const
     {
@@ -361,7 +361,7 @@ public:
   std::string GetFullName(const char* config=0, bool implib = false) const;
   void GetFullNameComponents(std::string& prefix,
                              std::string& base, std::string& suffix,
-                             const char* config=0, bool implib = false);
+                             const char* config=0, bool implib = false) const;
 
   /** Get the name of the pdb file for the target.  */
   std::string GetPDBName(const char* config=0) const;
@@ -373,7 +373,7 @@ public:
   std::string GetSOName(const char* config) const;
 
   /** Whether this library has \@rpath and platform supports it.  */
-  bool HasMacOSXRpath(const char* config);
+  bool HasMacOSXRpath(const char* config) const;
 
   /** Test for special case of a third-party shared library that has
       no soname at all.  */
@@ -409,7 +409,7 @@ public:
   /**
    * Compute whether this target must be relinked before installing.
    */
-  bool NeedRelinkBeforeInstall(const char* config);
+  bool NeedRelinkBeforeInstall(const char* config) const;
 
   bool HaveBuildTreeRPATH(const char *config) const;
   bool HaveInstallTreeRPATH() const;
@@ -420,11 +420,11 @@ public:
   /** Return the install name directory for the target in the
     * build tree.  For example: "\@rpath/", "\@loader_path/",
     * or "/full/path/to/library".  */
-  std::string GetInstallNameDirForBuildTree(const char* config);
+  std::string GetInstallNameDirForBuildTree(const char* config) const;
 
   /** Return the install name directory for the target in the
     * install tree.  For example: "\@rpath/" or "\@loader_path/". */
-  std::string GetInstallNameDirForInstallTree();
+  std::string GetInstallNameDirForInstallTree() const;
 
   cmComputeLinkInformation* GetLinkInformation(const char* config,
                                                cmTarget const* head = 0) const;
@@ -497,7 +497,7 @@ public:
 
   /** @return the mac content directory for this target. */
   std::string GetMacContentDirectory(const char* config,
-                                     bool implib);
+                                     bool implib) const;
 
   /** @return whether this target have a well defined output file name. */
   bool HaveWellDefinedOutputFiles() const;