Browse Source

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 years ago
parent
commit
3f2dd9bc54
4 changed files with 9 additions and 7 deletions
  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