فهرست منبع

ENH: Made cmTarget::GetSourceFiles method return reference to const so addition of cmSourceFile pointers must be done with an access method in cmTarget.

Brad King 18 سال پیش
والد
کامیت
3f2dd9bc54
4فایلهای تغییر یافته به همراه9 افزوده شده و 7 حذف شده
  1. 2 2
      Source/cmFLTKWrapUICommand.cxx
  2. 3 3
      Source/cmLocalGenerator.cxx
  3. 1 1
      Source/cmTarget.cxx
  4. 3 1
      Source/cmTarget.h

+ 2 - 2
Source/cmFLTKWrapUICommand.cxx

@@ -158,8 +158,8 @@ void cmFLTKWrapUICommand::FinalPass()
     // Generate code for all the .fl files
     for(size_t classNum = 0; classNum < lastHeadersClass; classNum++)
       {
-      this->Makefile->GetTargets()[this->Target].GetSourceFiles().
-        push_back(this->GeneratedSourcesClasses[classNum]);
+      this->Makefile->GetTargets()[this->Target]
+        .AddSourceFile(this->GeneratedSourcesClasses[classNum]);
       }
     }
 }

+ 3 - 3
Source/cmLocalGenerator.cxx

@@ -622,8 +622,8 @@ void cmLocalGenerator::AddBuildTargetRule(const char* llang, cmTarget& target)
   cmStdString objs;
   std::vector<std::string> objVector;
   // Add all the sources outputs to the depends of the target
-  std::vector<cmSourceFile*>& classes = target.GetSourceFiles();
-  for(std::vector<cmSourceFile*>::iterator i = classes.begin();
+  std::vector<cmSourceFile*> const& classes = target.GetSourceFiles();
+  for(std::vector<cmSourceFile*>::const_iterator i = classes.begin();
       i != classes.end(); ++i)
     { 
     if(!(*i)->GetPropertyAsBool("HEADER_FILE_ONLY") && 
@@ -706,7 +706,7 @@ void cmLocalGenerator::AddBuildTargetRule(const char* llang, cmTarget& target)
     comment.c_str(),
     this->Makefile->GetStartOutputDirectory()
     );
-  target.GetSourceFiles().push_back
+  target.AddSourceFile
     (this->Makefile->GetSource(targetFullPath.c_str()));
 }
 

+ 1 - 1
Source/cmTarget.cxx

@@ -454,7 +454,7 @@ void cmTarget::TraceVSDependencies(std::string projFile,
                                    cmMakefile *makefile)
 { 
   // get the classes from the source lists then add them to the groups
-  std::vector<cmSourceFile*> & classes = this->GetSourceFiles();
+  std::vector<cmSourceFile*> & classes = this->SourceFiles;
   // use a deck to keep track of processed source files
   std::queue<std::string> srcFilesToProcess;
   std::set<cmStdString> srcFilesQueued;

+ 3 - 1
Source/cmTarget.h

@@ -89,7 +89,9 @@ public:
   /**
    * Get the list of the source files used by this target
    */
-  std::vector<cmSourceFile*> &GetSourceFiles() {return this->SourceFiles;}
+  std::vector<cmSourceFile*> const &GetSourceFiles()
+    {return this->SourceFiles;}
+  void AddSourceFile(cmSourceFile* sf) { this->SourceFiles.push_back(sf); }
 
   /**
    * Get the list of the source files used by this target