[Cmake-commits] CMake branch, next, updated. v2.8.12.1-6879-g0612256

Stephen Kelly steveire at gmail.com
Wed Jan 8 12:09:17 EST 2014


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, next has been updated
       via  061225676800d025654ac97720630880fcee20fe (commit)
       via  c9836c8d8c15d9ee3c01e1208ca33959079d8523 (commit)
       via  aa6f67422e74e2a4c930be9f034e618546b025e4 (commit)
       via  137e9702339e1c822a1b1351052bc4c10af85979 (commit)
       via  e975704427d56f0f28a43b3bdea5b93080a2aaa6 (commit)
       via  9c859c56f422a36ee7621fdb650c912f3ee29d3d (commit)
       via  d251f2d4abf87bb460318f8030c2ea24aa2c5abe (commit)
       via  9e5909d118b4272880b63e9f536de4b6c5d2ff67 (commit)
       via  65deeb8aaedff3554ef76ab9dd8525a98a3d9da0 (commit)
       via  bb0e476d25b7a5ef6c4ca85c9acde496b4923d29 (commit)
       via  81b9a32978aeaa1063a7f89b810872b2121f01bd (commit)
       via  c26aad4bc3f433957134e8948f87447ce0e4e3ce (commit)
       via  765487077d02759d282c66165433ceaa0826e45c (commit)
       via  f579fe0d7a102df0c69c957d48e3e728333dffe1 (commit)
       via  590d238914ff1b8652c0074e6715f51cad5eb7db (commit)
      from  def19cdde7584d6b462f8ffc277f4de84da3133a (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=061225676800d025654ac97720630880fcee20fe
commit 061225676800d025654ac97720630880fcee20fe
Merge: def19cd c9836c8
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Wed Jan 8 12:09:13 2014 -0500
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Wed Jan 8 12:09:13 2014 -0500

    Merge topic 'minor-cleanups' into next
    
    c9836c8 cmTarget: Make GetSourceFiles populate an out-vector parameter.
    aa6f674 cmGeneratorTarget: Add GetExpectedResxHeaders method.
    137e970 cmGeneratorTarget: Add GetCustomCommands method.
    e975704 cmGeneratorTarget: Make the SourceEntries private.
    9c859c5 cmGeneratorTarget: Add GetExtraSources method.
    d251f2d cmGeneratorTarget: Add GetHeaderSources method.
    9e5909d cmGeneratorTarget: Add GetExternalObjects method.
    65deeb8 cmGeneratorTarget: Add GetIDLSources method.
    bb0e476 cmGeneratorTarget: Add GetResxSources method.
    81b9a32 cmGeneratorTarget: Add HasExplicitObjectName method.
    c26aad4 cmGeneratorTarget: Add GetObjectName method.
    7654870 cmGeneratorTarget: Add GetObjectSources method.
    f579fe0 Help: Fix link to MAP_IMPORTED_CONFIG_<CONFIG>
    590d238 cmTarget: Handle NO_SYSTEM_FROM_IMPORTED.


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c9836c8d8c15d9ee3c01e1208ca33959079d8523
commit c9836c8d8c15d9ee3c01e1208ca33959079d8523
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Sun Jul 14 18:22:57 2013 +0200
Commit:     Stephen Kelly <steveire at gmail.com>
CommitDate: Wed Jan 8 18:08:32 2014 +0100

    cmTarget: Make GetSourceFiles populate an out-vector parameter.
    
    In a future patch, this will also be populated with extra
    sources from the linked dependencies.

diff --git a/Source/cmExtraCodeBlocksGenerator.cxx b/Source/cmExtraCodeBlocksGenerator.cxx
index fce1284..a066153 100644
--- a/Source/cmExtraCodeBlocksGenerator.cxx
+++ b/Source/cmExtraCodeBlocksGenerator.cxx
@@ -398,7 +398,8 @@ void cmExtraCodeBlocksGenerator
         case cmTarget::OBJECT_LIBRARY:
         case cmTarget::UTILITY: // can have sources since 2.6.3
           {
-          const std::vector<cmSourceFile*>&sources=ti->second.GetSourceFiles();
+          std::vector<cmSourceFile*> sources;
+          ti->second.GetSourceFiles(sources);
           for (std::vector<cmSourceFile*>::const_iterator si=sources.begin();
                si!=sources.end(); si++)
             {
diff --git a/Source/cmExtraEclipseCDT4Generator.cxx b/Source/cmExtraEclipseCDT4Generator.cxx
index c93187e..3e9b786 100644
--- a/Source/cmExtraEclipseCDT4Generator.cxx
+++ b/Source/cmExtraEclipseCDT4Generator.cxx
@@ -559,7 +559,8 @@ void cmExtraEclipseCDT4Generator::CreateLinksForTargets(
           std::vector<cmSourceGroup> sourceGroups=makefile->GetSourceGroups();
           // get the files from the source lists then add them to the groups
           cmTarget* tgt = const_cast<cmTarget*>(&ti->second);
-          std::vector<cmSourceFile*>const & files = tgt->GetSourceFiles();
+          std::vector<cmSourceFile*> files;
+          tgt->GetSourceFiles(files);
           for(std::vector<cmSourceFile*>::const_iterator sfIt = files.begin();
               sfIt != files.end();
               sfIt++)
diff --git a/Source/cmExtraSublimeTextGenerator.cxx b/Source/cmExtraSublimeTextGenerator.cxx
index 9cbdd7c..52411e8 100644
--- a/Source/cmExtraSublimeTextGenerator.cxx
+++ b/Source/cmExtraSublimeTextGenerator.cxx
@@ -237,7 +237,8 @@ void cmExtraSublimeTextGenerator::
     {
       cmGeneratorTarget *gtgt = this->GlobalGenerator
                                     ->GetGeneratorTarget(target);
-      std::vector<cmSourceFile*> const& sourceFiles = target->GetSourceFiles();
+      std::vector<cmSourceFile*> sourceFiles;
+      target->GetSourceFiles(sourceFiles);
       std::vector<cmSourceFile*>::const_iterator sourceFilesEnd =
         sourceFiles.end();
       for (std::vector<cmSourceFile*>::const_iterator iter =
diff --git a/Source/cmFLTKWrapUICommand.cxx b/Source/cmFLTKWrapUICommand.cxx
index b08c335..4ce1ea5 100644
--- a/Source/cmFLTKWrapUICommand.cxx
+++ b/Source/cmFLTKWrapUICommand.cxx
@@ -132,8 +132,8 @@ void cmFLTKWrapUICommand::FinalPass()
     cmSystemTools::Message(msg.c_str(),"Warning");
     return;
     }
-  std::vector<cmSourceFile*> const& srcs =
-    target->GetSourceFiles();
+  std::vector<cmSourceFile*> srcs;
+  target->GetSourceFiles(srcs);
   bool found = false;
   for (unsigned int i = 0; i < srcs.size(); ++i)
     {
diff --git a/Source/cmGeneratorTarget.cxx b/Source/cmGeneratorTarget.cxx
index 4145376..674b8de 100644
--- a/Source/cmGeneratorTarget.cxx
+++ b/Source/cmGeneratorTarget.cxx
@@ -279,9 +279,9 @@ bool cmGeneratorTarget::GetPropertyAsBool(const char *prop) const
 }
 
 //----------------------------------------------------------------------------
-std::vector<cmSourceFile*> const& cmGeneratorTarget::GetSourceFiles() const
+void cmGeneratorTarget::GetSourceFiles(std::vector<cmSourceFile*> &files) const
 {
-  return this->Target->GetSourceFiles();
+  this->Target->GetSourceFiles(files);
 }
 
 //----------------------------------------------------------------------------
@@ -293,7 +293,8 @@ void cmGeneratorTarget::ClassifySources()
   bool isObjLib = targetType == cmTarget::OBJECT_LIBRARY;
 
   std::vector<cmSourceFile*> badObjLib;
-  std::vector<cmSourceFile*> const& sources = this->Target->GetSourceFiles();
+  std::vector<cmSourceFile*> sources;
+  this->Target->GetSourceFiles(sources);
   for(std::vector<cmSourceFile*>::const_iterator si = sources.begin();
       si != sources.end(); ++si)
     {
@@ -491,7 +492,8 @@ cmTargetTraceDependencies
   this->CurrentEntry = 0;
 
   // Queue all the source files already specified for the target.
-  std::vector<cmSourceFile*> const& sources = this->Target->GetSourceFiles();
+  std::vector<cmSourceFile*> sources;
+  this->Target->GetSourceFiles(sources);
   for(std::vector<cmSourceFile*>::const_iterator si = sources.begin();
       si != sources.end(); ++si)
     {
diff --git a/Source/cmGeneratorTarget.h b/Source/cmGeneratorTarget.h
index e92f51f..3390b2f 100644
--- a/Source/cmGeneratorTarget.h
+++ b/Source/cmGeneratorTarget.h
@@ -30,7 +30,7 @@ public:
   const char *GetName() const;
   const char *GetProperty(const char *prop) const;
   bool GetPropertyAsBool(const char *prop) const;
-  std::vector<cmSourceFile*> const& GetSourceFiles() const;
+  void GetSourceFiles(std::vector<cmSourceFile*>& files) const;
 
   void GetObjectSources(std::vector<cmSourceFile*> &) const;
   const std::string& GetObjectName(cmSourceFile const* file);
diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx
index 82c9155..f5914c8 100644
--- a/Source/cmGlobalGenerator.cxx
+++ b/Source/cmGlobalGenerator.cxx
@@ -2884,7 +2884,8 @@ void cmGlobalGenerator::WriteSummary(cmTarget* target)
 
     // List the source files with any per-source labels.
     fout << "# Source files and their labels\n";
-    std::vector<cmSourceFile*> const& sources = target->GetSourceFiles();
+    std::vector<cmSourceFile*> sources;
+    target->GetSourceFiles(sources);
     for(std::vector<cmSourceFile*>::const_iterator si = sources.begin();
         si != sources.end(); ++si)
       {
diff --git a/Source/cmGlobalKdevelopGenerator.cxx b/Source/cmGlobalKdevelopGenerator.cxx
index 61ff45b..ed0e15b 100644
--- a/Source/cmGlobalKdevelopGenerator.cxx
+++ b/Source/cmGlobalKdevelopGenerator.cxx
@@ -138,7 +138,8 @@ bool cmGlobalKdevelopGenerator
     for (cmTargets::iterator ti = targets.begin();
          ti != targets.end(); ti++)
       {
-      const std::vector<cmSourceFile*>& sources=ti->second.GetSourceFiles();
+      std::vector<cmSourceFile*> sources;
+      ti->second.GetSourceFiles(sources);
       for (std::vector<cmSourceFile*>::const_iterator si=sources.begin();
            si!=sources.end(); si++)
         {
diff --git a/Source/cmGlobalXCodeGenerator.cxx b/Source/cmGlobalXCodeGenerator.cxx
index 09d8124..6443434 100644
--- a/Source/cmGlobalXCodeGenerator.cxx
+++ b/Source/cmGlobalXCodeGenerator.cxx
@@ -991,7 +991,8 @@ cmGlobalXCodeGenerator::CreateXCodeTargets(cmLocalGenerator* gen,
       }
 
     // organize the sources
-    std::vector<cmSourceFile*> classes = cmtarget.GetSourceFiles();
+    std::vector<cmSourceFile*> classes;
+    cmtarget.GetSourceFiles(classes);
     std::sort(classes.begin(), classes.end(), cmSourceFilePathCompare());
 
     std::vector<cmXCodeObject*> externalObjFiles;
@@ -2442,7 +2443,8 @@ cmGlobalXCodeGenerator::CreateUtilityTarget(cmTarget& cmtarget)
   // Add source files without build rules for editing convenience.
   if(cmtarget.GetType() == cmTarget::UTILITY)
     {
-    std::vector<cmSourceFile*> const& sources = cmtarget.GetSourceFiles();
+    std::vector<cmSourceFile*> sources;
+    cmtarget.GetSourceFiles(sources);
     for(std::vector<cmSourceFile*>::const_iterator i = sources.begin();
         i != sources.end(); ++i)
       {
@@ -2945,7 +2947,8 @@ void cmGlobalXCodeGenerator::CreateGroups(cmLocalGenerator* root,
         cmtarget.AddSourceFile(sf);
         }
 
-      std::vector<cmSourceFile*>  classes = cmtarget.GetSourceFiles();
+      std::vector<cmSourceFile*> classes;
+      cmtarget.GetSourceFiles(classes);
 
       // Put cmSourceFile instances in proper groups:
       for(std::vector<cmSourceFile*>::const_iterator s = classes.begin();
diff --git a/Source/cmLocalGenerator.cxx b/Source/cmLocalGenerator.cxx
index 455f542..3effe38 100644
--- a/Source/cmLocalGenerator.cxx
+++ b/Source/cmLocalGenerator.cxx
@@ -657,7 +657,8 @@ void cmLocalGenerator::AddBuildTargetRule(const char* llang,
   cmStdString objs;
   std::vector<std::string> objVector;
   // Add all the sources outputs to the depends of the target
-  std::vector<cmSourceFile*> const& classes = target.GetSourceFiles();
+  std::vector<cmSourceFile*> classes;
+  target.GetSourceFiles(classes);
   for(std::vector<cmSourceFile*>::const_iterator i = classes.begin();
       i != classes.end(); ++i)
     {
@@ -1631,7 +1632,8 @@ void cmLocalGenerator::GetTargetFlags(std::string& linkLibs,
       if(this->Makefile->IsOn("WIN32") &&
          !(this->Makefile->IsOn("CYGWIN") || this->Makefile->IsOn("MINGW")))
         {
-        const std::vector<cmSourceFile*>& sources = target->GetSourceFiles();
+        std::vector<cmSourceFile*> sources;
+        target->GetSourceFiles(sources);
         for(std::vector<cmSourceFile*>::const_iterator i = sources.begin();
             i != sources.end(); ++i)
           {
diff --git a/Source/cmLocalVisualStudio6Generator.cxx b/Source/cmLocalVisualStudio6Generator.cxx
index f10216a..a475c40 100644
--- a/Source/cmLocalVisualStudio6Generator.cxx
+++ b/Source/cmLocalVisualStudio6Generator.cxx
@@ -314,7 +314,8 @@ void cmLocalVisualStudio6Generator::WriteDSPFile(std::ostream& fout,
   std::vector<cmSourceGroup> sourceGroups = this->Makefile->GetSourceGroups();
 
   // get the classes from the source lists then add them to the groups
-  std::vector<cmSourceFile*> const & classes = target.GetSourceFiles();
+  std::vector<cmSourceFile*>& classes;
+  target.GetSourceFiles(classes);
 
   // now all of the source files have been properly assigned to the target
   // now stick them into source groups using the reg expressions
diff --git a/Source/cmLocalVisualStudio7Generator.cxx b/Source/cmLocalVisualStudio7Generator.cxx
index 1a47ca3..e790b92 100644
--- a/Source/cmLocalVisualStudio7Generator.cxx
+++ b/Source/cmLocalVisualStudio7Generator.cxx
@@ -1381,7 +1381,8 @@ void cmLocalVisualStudio7Generator::WriteVCProjFile(std::ostream& fout,
 
   // get the classes from the source lists then add them to the groups
   this->ModuleDefinitionFile = "";
-  std::vector<cmSourceFile*>const & classes = target.GetSourceFiles();
+  std::vector<cmSourceFile*>& classes;
+  target.GetSourceFiles(classes);
   for(std::vector<cmSourceFile*>::const_iterator i = classes.begin();
       i != classes.end(); i++)
     {
diff --git a/Source/cmMakefileTargetGenerator.cxx b/Source/cmMakefileTargetGenerator.cxx
index cfbdfc7..9c34bb7 100644
--- a/Source/cmMakefileTargetGenerator.cxx
+++ b/Source/cmMakefileTargetGenerator.cxx
@@ -1143,8 +1143,8 @@ cmMakefileTargetGenerator
 ::DriveCustomCommands(std::vector<std::string>& depends)
 {
   // Depend on all custom command outputs.
-  const std::vector<cmSourceFile*>& sources =
-    this->Target->GetSourceFiles();
+  std::vector<cmSourceFile*> sources;
+  this->Target->GetSourceFiles(sources);
   for(std::vector<cmSourceFile*>::const_iterator source = sources.begin();
       source != sources.end(); ++source)
     {
diff --git a/Source/cmNinjaUtilityTargetGenerator.cxx b/Source/cmNinjaUtilityTargetGenerator.cxx
index 8556565..1a7b445 100644
--- a/Source/cmNinjaUtilityTargetGenerator.cxx
+++ b/Source/cmNinjaUtilityTargetGenerator.cxx
@@ -42,8 +42,8 @@ void cmNinjaUtilityTargetGenerator::Generate()
     }
   }
 
-  const std::vector<cmSourceFile*>& sources =
-    this->GetTarget()->GetSourceFiles();
+  std::vector<cmSourceFile*> sources;
+  this->GetTarget()->GetSourceFiles(sources);
   for(std::vector<cmSourceFile*>::const_iterator source = sources.begin();
       source != sources.end(); ++source)
     {
diff --git a/Source/cmQtAutoGenerators.cxx b/Source/cmQtAutoGenerators.cxx
index bd7e75a..da22ab5 100644
--- a/Source/cmQtAutoGenerators.cxx
+++ b/Source/cmQtAutoGenerators.cxx
@@ -451,7 +451,8 @@ void cmQtAutoGenerators::SetupAutoMocTarget(cmTarget const* target,
   const char* sepFiles = "";
   const char* sepHeaders = "";
 
-  const std::vector<cmSourceFile*>& srcFiles = target->GetSourceFiles();
+  std::vector<cmSourceFile*> srcFiles;
+  target->GetSourceFiles(srcFiles);
 
   std::string skip_moc;
   const char *sep = "";
@@ -643,7 +644,8 @@ void cmQtAutoGenerators::SetupAutoUicTarget(cmTarget const* target,
   const char *qtUic = makefile->GetSafeDefinition("QT_UIC_EXECUTABLE");
   makefile->AddDefinition("_qt_uic_executable", qtUic);
 
-  const std::vector<cmSourceFile*>& srcFiles = target->GetSourceFiles();
+  std::vector<cmSourceFile*> srcFiles;
+  target->GetSourceFiles(srcFiles);
 
   std::string skip_uic;
   const char *sep = "";
@@ -809,7 +811,8 @@ void cmQtAutoGenerators::InitializeAutoRccTarget(cmTarget* target)
 {
   cmMakefile *makefile = target->GetMakefile();
 
-  const std::vector<cmSourceFile*>& srcFiles = target->GetSourceFiles();
+  std::vector<cmSourceFile*> srcFiles;
+  target->GetSourceFiles(srcFiles);
 
   std::vector<cmSourceFile*> newFiles;
 
@@ -855,7 +858,8 @@ void cmQtAutoGenerators::SetupAutoRccTarget(cmTarget const* target)
   const char* sepRccFiles = "";
   cmMakefile *makefile = target->GetMakefile();
 
-  const std::vector<cmSourceFile*>& srcFiles = target->GetSourceFiles();
+  std::vector<cmSourceFile*> srcFiles;
+  target->GetSourceFiles(srcFiles);
 
   std::string rccFileFiles;
   std::string rccFileOptions;
diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx
index b06480b..d65117d 100644
--- a/Source/cmTarget.cxx
+++ b/Source/cmTarget.cxx
@@ -530,9 +530,9 @@ bool cmTarget::FindSourceFiles()
 }
 
 //----------------------------------------------------------------------------
-std::vector<cmSourceFile*> const& cmTarget::GetSourceFiles() const
+void cmTarget::GetSourceFiles(std::vector<cmSourceFile*> &files) const
 {
-  return this->SourceFiles;
+  files = this->SourceFiles;
 }
 
 //----------------------------------------------------------------------------
@@ -673,7 +673,8 @@ void cmTarget::ConstructSourceFileFlags() const
 
   // Handle the MACOSX_PACKAGE_LOCATION property on source files that
   // were not listed in one of the other lists.
-  std::vector<cmSourceFile*> const& sources = this->GetSourceFiles();
+  std::vector<cmSourceFile*> sources;
+  this->GetSourceFiles(sources);
   for(std::vector<cmSourceFile*>::const_iterator si = sources.begin();
       si != sources.end(); ++si)
     {
diff --git a/Source/cmTarget.h b/Source/cmTarget.h
index 4916648..26d391f 100644
--- a/Source/cmTarget.h
+++ b/Source/cmTarget.h
@@ -132,7 +132,7 @@ public:
   /**
    * Get the list of the source files used by this target
    */
-  std::vector<cmSourceFile*> const& GetSourceFiles() const;
+  void GetSourceFiles(std::vector<cmSourceFile*> &files) const;
   void AddSourceFile(cmSourceFile* sf);
   std::vector<std::string> const& GetObjectLibraries() const
     {
diff --git a/Source/cmVisualStudio10TargetGenerator.cxx b/Source/cmVisualStudio10TargetGenerator.cxx
index 273114e..428e185 100644
--- a/Source/cmVisualStudio10TargetGenerator.cxx
+++ b/Source/cmVisualStudio10TargetGenerator.cxx
@@ -697,7 +697,8 @@ void cmVisualStudio10TargetGenerator::WriteGroups()
   // collect up group information
   std::vector<cmSourceGroup> sourceGroups =
     this->Makefile->GetSourceGroups();
-  std::vector<cmSourceFile*>  classes = this->Target->GetSourceFiles();
+  std::vector<cmSourceFile*> classes;
+  this->Target->GetSourceFiles(classes);
 
   std::set<cmSourceGroup*> groupsUsed;
   for(std::vector<cmSourceFile*>::const_iterator s = classes.begin();

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=aa6f67422e74e2a4c930be9f034e618546b025e4
commit aa6f67422e74e2a4c930be9f034e618546b025e4
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Wed Jan 8 17:15:52 2014 +0100
Commit:     Stephen Kelly <steveire at gmail.com>
CommitDate: Wed Jan 8 18:03:04 2014 +0100

    cmGeneratorTarget: Add GetExpectedResxHeaders method.

diff --git a/Source/cmGeneratorTarget.cxx b/Source/cmGeneratorTarget.cxx
index fdd06ee..4145376 100644
--- a/Source/cmGeneratorTarget.cxx
+++ b/Source/cmGeneratorTarget.cxx
@@ -163,6 +163,12 @@ std::vector<cmSourceFile*> const& cmGeneratorTarget::GetCustomCommands() const
 }
 
 //----------------------------------------------------------------------------
+std::set<std::string> const& cmGeneratorTarget::GetExpectedResxHeaders() const
+{
+  return this->ExpectedResxHeaders;
+}
+
+//----------------------------------------------------------------------------
 std::vector<cmSourceFile*> const&
 cmGeneratorTarget::GetExternalObjects() const
 {
diff --git a/Source/cmGeneratorTarget.h b/Source/cmGeneratorTarget.h
index 74d6c1a..e92f51f 100644
--- a/Source/cmGeneratorTarget.h
+++ b/Source/cmGeneratorTarget.h
@@ -45,6 +45,7 @@ public:
   std::vector<cmSourceFile*> const& GetHeaderSources() const;
   std::vector<cmSourceFile*> const& GetExtraSources() const;
   std::vector<cmSourceFile*> const& GetCustomCommands() const;
+  std::set<std::string> const& GetExpectedResxHeaders() const;
 
   cmTarget* Target;
   cmMakefile* Makefile;
@@ -53,8 +54,6 @@ public:
 
   std::string ModuleDefinitionFile;
 
-  std::set<std::string> ExpectedResxHeaders;
-
   /** Full path with trailing slash to the top-level directory
       holding object files for this target.  Includes the build
       time config name placeholder if needed for the generator.  */
@@ -103,6 +102,7 @@ private:
   std::vector<cmSourceFile*> ResxSources;
   std::map<cmSourceFile const*, std::string> Objects;
   std::set<cmSourceFile const*> ExplicitObjectName;
+  std::set<std::string> ExpectedResxHeaders;
   std::vector<cmSourceFile*> ObjectSources;
   std::vector<cmTarget*> ObjectLibraries;
   mutable std::map<std::string, std::vector<std::string> > SystemIncludesCache;
diff --git a/Source/cmVisualStudio10TargetGenerator.cxx b/Source/cmVisualStudio10TargetGenerator.cxx
index df94f91..273114e 100644
--- a/Source/cmVisualStudio10TargetGenerator.cxx
+++ b/Source/cmVisualStudio10TargetGenerator.cxx
@@ -1884,7 +1884,7 @@ bool cmVisualStudio10TargetGenerator::
   IsResxHeader(const std::string& headerFile)
 {
   std::set<std::string>::iterator it =
-      this->GeneratorTarget->ExpectedResxHeaders.find(headerFile);
+      this->GeneratorTarget->GetExpectedResxHeaders().find(headerFile);
 
-  return it != this->GeneratorTarget->ExpectedResxHeaders.end();
+  return it != this->GeneratorTarget->GetExpectedResxHeaders().end();
 }

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=137e9702339e1c822a1b1351052bc4c10af85979
commit 137e9702339e1c822a1b1351052bc4c10af85979
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Wed Jan 8 17:12:45 2014 +0100
Commit:     Stephen Kelly <steveire at gmail.com>
CommitDate: Wed Jan 8 18:03:04 2014 +0100

    cmGeneratorTarget: Add GetCustomCommands method.

diff --git a/Source/cmGeneratorTarget.cxx b/Source/cmGeneratorTarget.cxx
index 2a42909..fdd06ee 100644
--- a/Source/cmGeneratorTarget.cxx
+++ b/Source/cmGeneratorTarget.cxx
@@ -157,6 +157,12 @@ std::vector<cmSourceFile*> const& cmGeneratorTarget::GetExtraSources() const
 }
 
 //----------------------------------------------------------------------------
+std::vector<cmSourceFile*> const& cmGeneratorTarget::GetCustomCommands() const
+{
+  return this->CustomCommands;
+}
+
+//----------------------------------------------------------------------------
 std::vector<cmSourceFile*> const&
 cmGeneratorTarget::GetExternalObjects() const
 {
diff --git a/Source/cmGeneratorTarget.h b/Source/cmGeneratorTarget.h
index 8e04003..74d6c1a 100644
--- a/Source/cmGeneratorTarget.h
+++ b/Source/cmGeneratorTarget.h
@@ -44,15 +44,13 @@ public:
   std::vector<cmSourceFile*> const& GetExternalObjects() const;
   std::vector<cmSourceFile*> const& GetHeaderSources() const;
   std::vector<cmSourceFile*> const& GetExtraSources() const;
+  std::vector<cmSourceFile*> const& GetCustomCommands() const;
 
   cmTarget* Target;
   cmMakefile* Makefile;
   cmLocalGenerator* LocalGenerator;
   cmGlobalGenerator* GlobalGenerator;
 
-  /** Sources classified by purpose.  */
-  std::vector<cmSourceFile*> CustomCommands;
-
   std::string ModuleDefinitionFile;
 
   std::set<std::string> ExpectedResxHeaders;
@@ -97,6 +95,7 @@ private:
   typedef std::map<cmSourceFile*, SourceEntry> SourceEntriesType;
   SourceEntriesType SourceEntries;
 
+  std::vector<cmSourceFile*> CustomCommands;
   std::vector<cmSourceFile*> ExtraSources;
   std::vector<cmSourceFile*> HeaderSources;
   std::vector<cmSourceFile*> ExternalObjects;
diff --git a/Source/cmMakefileTargetGenerator.cxx b/Source/cmMakefileTargetGenerator.cxx
index 938c155..cfbdfc7 100644
--- a/Source/cmMakefileTargetGenerator.cxx
+++ b/Source/cmMakefileTargetGenerator.cxx
@@ -152,8 +152,8 @@ void cmMakefileTargetGenerator::WriteTargetBuildRules()
   // First generate the object rule files.  Save a list of all object
   // files for this target.
   for(std::vector<cmSourceFile*>::const_iterator
-        si = this->GeneratorTarget->CustomCommands.begin();
-      si != this->GeneratorTarget->CustomCommands.end(); ++si)
+        si = this->GeneratorTarget->GetCustomCommands().begin();
+      si != this->GeneratorTarget->GetCustomCommands().end(); ++si)
     {
     cmCustomCommand const* cc = (*si)->GetCustomCommand();
     this->GenerateCustomRuleFile(*cc);
diff --git a/Source/cmNinjaTargetGenerator.cxx b/Source/cmNinjaTargetGenerator.cxx
index 63c715e..cd657d8 100644
--- a/Source/cmNinjaTargetGenerator.cxx
+++ b/Source/cmNinjaTargetGenerator.cxx
@@ -460,8 +460,8 @@ cmNinjaTargetGenerator
     << "\n\n";
 
   for(std::vector<cmSourceFile*>::const_iterator
-        si = this->GeneratorTarget->CustomCommands.begin();
-      si != this->GeneratorTarget->CustomCommands.end(); ++si)
+        si = this->GeneratorTarget->GetCustomCommands().begin();
+      si != this->GeneratorTarget->GetCustomCommands().end(); ++si)
      {
      cmCustomCommand const* cc = (*si)->GetCustomCommand();
      this->GetLocalGenerator()->AddCustomCommandTarget(cc, this->GetTarget());
@@ -542,8 +542,8 @@ cmNinjaTargetGenerator
 
   // Add order-only dependencies on custom command outputs.
   for(std::vector<cmSourceFile*>::const_iterator
-        si = this->GeneratorTarget->CustomCommands.begin();
-      si != this->GeneratorTarget->CustomCommands.end(); ++si)
+        si = this->GeneratorTarget->GetCustomCommands().begin();
+      si != this->GeneratorTarget->GetCustomCommands().end(); ++si)
     {
     cmCustomCommand const* cc = (*si)->GetCustomCommand();
     const std::vector<std::string>& ccoutputs = cc->GetOutputs();
diff --git a/Source/cmVisualStudio10TargetGenerator.cxx b/Source/cmVisualStudio10TargetGenerator.cxx
index 3b3bed3..df94f91 100644
--- a/Source/cmVisualStudio10TargetGenerator.cxx
+++ b/Source/cmVisualStudio10TargetGenerator.cxx
@@ -551,8 +551,8 @@ void cmVisualStudio10TargetGenerator::WriteCustomCommands()
 {
   this->SourcesVisited.clear();
   for(std::vector<cmSourceFile*>::const_iterator
-        si = this->GeneratorTarget->CustomCommands.begin();
-      si != this->GeneratorTarget->CustomCommands.end(); ++si)
+        si = this->GeneratorTarget->GetCustomCommands().begin();
+      si != this->GeneratorTarget->GetCustomCommands().end(); ++si)
     {
     this->WriteCustomCommand(*si);
     }

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e975704427d56f0f28a43b3bdea5b93080a2aaa6
commit e975704427d56f0f28a43b3bdea5b93080a2aaa6
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Wed Jan 8 17:08:10 2014 +0100
Commit:     Stephen Kelly <steveire at gmail.com>
CommitDate: Wed Jan 8 18:03:03 2014 +0100

    cmGeneratorTarget: Make the SourceEntries private.

diff --git a/Source/cmGeneratorTarget.h b/Source/cmGeneratorTarget.h
index 3824217..8e04003 100644
--- a/Source/cmGeneratorTarget.h
+++ b/Source/cmGeneratorTarget.h
@@ -91,11 +91,12 @@ public:
   /** Get sources that must be built before the given source.  */
   std::vector<cmSourceFile*> const* GetSourceDepends(cmSourceFile* sf) const;
 
+private:
+  friend class cmTargetTraceDependencies;
   struct SourceEntry { std::vector<cmSourceFile*> Depends; };
   typedef std::map<cmSourceFile*, SourceEntry> SourceEntriesType;
   SourceEntriesType SourceEntries;
 
-private:
   std::vector<cmSourceFile*> ExtraSources;
   std::vector<cmSourceFile*> HeaderSources;
   std::vector<cmSourceFile*> ExternalObjects;

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=9c859c56f422a36ee7621fdb650c912f3ee29d3d
commit 9c859c56f422a36ee7621fdb650c912f3ee29d3d
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Wed Jan 8 16:57:23 2014 +0100
Commit:     Stephen Kelly <steveire at gmail.com>
CommitDate: Wed Jan 8 18:03:03 2014 +0100

    cmGeneratorTarget: Add GetExtraSources method.

diff --git a/Source/cmGeneratorTarget.cxx b/Source/cmGeneratorTarget.cxx
index 80842ee..2a42909 100644
--- a/Source/cmGeneratorTarget.cxx
+++ b/Source/cmGeneratorTarget.cxx
@@ -151,6 +151,12 @@ std::vector<cmSourceFile*> const& cmGeneratorTarget::GetHeaderSources() const
 }
 
 //----------------------------------------------------------------------------
+std::vector<cmSourceFile*> const& cmGeneratorTarget::GetExtraSources() const
+{
+  return this->ExtraSources;
+}
+
+//----------------------------------------------------------------------------
 std::vector<cmSourceFile*> const&
 cmGeneratorTarget::GetExternalObjects() const
 {
diff --git a/Source/cmGeneratorTarget.h b/Source/cmGeneratorTarget.h
index 7243051..3824217 100644
--- a/Source/cmGeneratorTarget.h
+++ b/Source/cmGeneratorTarget.h
@@ -43,6 +43,7 @@ public:
   std::vector<cmSourceFile*> const& GetIDLSources() const;
   std::vector<cmSourceFile*> const& GetExternalObjects() const;
   std::vector<cmSourceFile*> const& GetHeaderSources() const;
+  std::vector<cmSourceFile*> const& GetExtraSources() const;
 
   cmTarget* Target;
   cmMakefile* Makefile;
@@ -51,7 +52,6 @@ public:
 
   /** Sources classified by purpose.  */
   std::vector<cmSourceFile*> CustomCommands;
-  std::vector<cmSourceFile*> ExtraSources;
 
   std::string ModuleDefinitionFile;
 
@@ -96,6 +96,7 @@ public:
   SourceEntriesType SourceEntries;
 
 private:
+  std::vector<cmSourceFile*> ExtraSources;
   std::vector<cmSourceFile*> HeaderSources;
   std::vector<cmSourceFile*> ExternalObjects;
   std::vector<cmSourceFile*> IDLSources;
diff --git a/Source/cmMakefileTargetGenerator.cxx b/Source/cmMakefileTargetGenerator.cxx
index 2fa4c42..938c155 100644
--- a/Source/cmMakefileTargetGenerator.cxx
+++ b/Source/cmMakefileTargetGenerator.cxx
@@ -174,7 +174,7 @@ void cmMakefileTargetGenerator::WriteTargetBuildRules()
     this->GeneratorTarget->GetHeaderSources(),
     this->MacOSXContentGenerator);
   this->OSXBundleGenerator->GenerateMacOSXContentStatements(
-    this->GeneratorTarget->ExtraSources,
+    this->GeneratorTarget->GetExtraSources(),
     this->MacOSXContentGenerator);
   for(std::vector<cmSourceFile*>::const_iterator
         si = this->GeneratorTarget->GetExternalObjects().begin();
diff --git a/Source/cmNinjaTargetGenerator.cxx b/Source/cmNinjaTargetGenerator.cxx
index a62da57..63c715e 100644
--- a/Source/cmNinjaTargetGenerator.cxx
+++ b/Source/cmNinjaTargetGenerator.cxx
@@ -470,7 +470,7 @@ cmNinjaTargetGenerator
     this->GeneratorTarget->GetHeaderSources(),
     this->MacOSXContentGenerator);
   this->OSXBundleGenerator->GenerateMacOSXContentStatements(
-    this->GeneratorTarget->ExtraSources,
+    this->GeneratorTarget->GetExtraSources(),
     this->MacOSXContentGenerator);
   for(std::vector<cmSourceFile*>::const_iterator
         si = this->GeneratorTarget->GetExternalObjects().begin();
diff --git a/Source/cmVisualStudio10TargetGenerator.cxx b/Source/cmVisualStudio10TargetGenerator.cxx
index c4cf638..3b3bed3 100644
--- a/Source/cmVisualStudio10TargetGenerator.cxx
+++ b/Source/cmVisualStudio10TargetGenerator.cxx
@@ -1060,7 +1060,7 @@ void cmVisualStudio10TargetGenerator::WriteAllSources()
       }
     }
 
-  this->WriteSources("None", this->GeneratorTarget->ExtraSources);
+  this->WriteSources("None", this->GeneratorTarget->GetExtraSources());
 
   // Add object library contents as external objects.
   std::vector<std::string> objs;

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d251f2d4abf87bb460318f8030c2ea24aa2c5abe
commit d251f2d4abf87bb460318f8030c2ea24aa2c5abe
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Wed Jan 8 16:55:08 2014 +0100
Commit:     Stephen Kelly <steveire at gmail.com>
CommitDate: Wed Jan 8 18:03:03 2014 +0100

    cmGeneratorTarget: Add GetHeaderSources method.

diff --git a/Source/cmGeneratorTarget.cxx b/Source/cmGeneratorTarget.cxx
index 48b060d..80842ee 100644
--- a/Source/cmGeneratorTarget.cxx
+++ b/Source/cmGeneratorTarget.cxx
@@ -145,6 +145,12 @@ std::vector<cmSourceFile*> const& cmGeneratorTarget::GetIDLSources() const
 }
 
 //----------------------------------------------------------------------------
+std::vector<cmSourceFile*> const& cmGeneratorTarget::GetHeaderSources() const
+{
+  return this->HeaderSources;
+}
+
+//----------------------------------------------------------------------------
 std::vector<cmSourceFile*> const&
 cmGeneratorTarget::GetExternalObjects() const
 {
diff --git a/Source/cmGeneratorTarget.h b/Source/cmGeneratorTarget.h
index 52a236e..7243051 100644
--- a/Source/cmGeneratorTarget.h
+++ b/Source/cmGeneratorTarget.h
@@ -42,6 +42,7 @@ public:
   std::vector<cmSourceFile*> const& GetResxSources() const;
   std::vector<cmSourceFile*> const& GetIDLSources() const;
   std::vector<cmSourceFile*> const& GetExternalObjects() const;
+  std::vector<cmSourceFile*> const& GetHeaderSources() const;
 
   cmTarget* Target;
   cmMakefile* Makefile;
@@ -51,7 +52,6 @@ public:
   /** Sources classified by purpose.  */
   std::vector<cmSourceFile*> CustomCommands;
   std::vector<cmSourceFile*> ExtraSources;
-  std::vector<cmSourceFile*> HeaderSources;
 
   std::string ModuleDefinitionFile;
 
@@ -96,6 +96,7 @@ public:
   SourceEntriesType SourceEntries;
 
 private:
+  std::vector<cmSourceFile*> HeaderSources;
   std::vector<cmSourceFile*> ExternalObjects;
   std::vector<cmSourceFile*> IDLSources;
   std::vector<cmSourceFile*> ResxSources;
diff --git a/Source/cmMakefileTargetGenerator.cxx b/Source/cmMakefileTargetGenerator.cxx
index 539d1e6..2fa4c42 100644
--- a/Source/cmMakefileTargetGenerator.cxx
+++ b/Source/cmMakefileTargetGenerator.cxx
@@ -171,7 +171,7 @@ void cmMakefileTargetGenerator::WriteTargetBuildRules()
       }
     }
   this->OSXBundleGenerator->GenerateMacOSXContentStatements(
-    this->GeneratorTarget->HeaderSources,
+    this->GeneratorTarget->GetHeaderSources(),
     this->MacOSXContentGenerator);
   this->OSXBundleGenerator->GenerateMacOSXContentStatements(
     this->GeneratorTarget->ExtraSources,
diff --git a/Source/cmNinjaTargetGenerator.cxx b/Source/cmNinjaTargetGenerator.cxx
index 041c8be..a62da57 100644
--- a/Source/cmNinjaTargetGenerator.cxx
+++ b/Source/cmNinjaTargetGenerator.cxx
@@ -467,7 +467,7 @@ cmNinjaTargetGenerator
      this->GetLocalGenerator()->AddCustomCommandTarget(cc, this->GetTarget());
      }
   this->OSXBundleGenerator->GenerateMacOSXContentStatements(
-    this->GeneratorTarget->HeaderSources,
+    this->GeneratorTarget->GetHeaderSources(),
     this->MacOSXContentGenerator);
   this->OSXBundleGenerator->GenerateMacOSXContentStatements(
     this->GeneratorTarget->ExtraSources,
diff --git a/Source/cmVisualStudio10TargetGenerator.cxx b/Source/cmVisualStudio10TargetGenerator.cxx
index b8c9c85..c4cf638 100644
--- a/Source/cmVisualStudio10TargetGenerator.cxx
+++ b/Source/cmVisualStudio10TargetGenerator.cxx
@@ -996,7 +996,7 @@ void cmVisualStudio10TargetGenerator::WriteAllSources()
     }
   this->WriteString("<ItemGroup>\n", 1);
 
-  this->WriteSources("ClInclude", this->GeneratorTarget->HeaderSources);
+  this->WriteSources("ClInclude", this->GeneratorTarget->GetHeaderSources());
   this->WriteSources("Midl", this->GeneratorTarget->GetIDLSources());
 
   std::vector<cmSourceFile*> objectSources;

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=9e5909d118b4272880b63e9f536de4b6c5d2ff67
commit 9e5909d118b4272880b63e9f536de4b6c5d2ff67
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Wed Jan 8 16:53:09 2014 +0100
Commit:     Stephen Kelly <steveire at gmail.com>
CommitDate: Wed Jan 8 18:03:03 2014 +0100

    cmGeneratorTarget: Add GetExternalObjects method.

diff --git a/Source/cmGeneratorTarget.cxx b/Source/cmGeneratorTarget.cxx
index 0e43c48..48b060d 100644
--- a/Source/cmGeneratorTarget.cxx
+++ b/Source/cmGeneratorTarget.cxx
@@ -145,6 +145,13 @@ std::vector<cmSourceFile*> const& cmGeneratorTarget::GetIDLSources() const
 }
 
 //----------------------------------------------------------------------------
+std::vector<cmSourceFile*> const&
+cmGeneratorTarget::GetExternalObjects() const
+{
+  return this->ExternalObjects;
+}
+
+//----------------------------------------------------------------------------
 bool cmGeneratorTarget::IsSystemIncludeDirectory(const char *dir,
                                                  const char *config) const
 {
diff --git a/Source/cmGeneratorTarget.h b/Source/cmGeneratorTarget.h
index 61a4518..52a236e 100644
--- a/Source/cmGeneratorTarget.h
+++ b/Source/cmGeneratorTarget.h
@@ -41,6 +41,7 @@ public:
 
   std::vector<cmSourceFile*> const& GetResxSources() const;
   std::vector<cmSourceFile*> const& GetIDLSources() const;
+  std::vector<cmSourceFile*> const& GetExternalObjects() const;
 
   cmTarget* Target;
   cmMakefile* Makefile;
@@ -51,7 +52,6 @@ public:
   std::vector<cmSourceFile*> CustomCommands;
   std::vector<cmSourceFile*> ExtraSources;
   std::vector<cmSourceFile*> HeaderSources;
-  std::vector<cmSourceFile*> ExternalObjects;
 
   std::string ModuleDefinitionFile;
 
@@ -96,6 +96,7 @@ public:
   SourceEntriesType SourceEntries;
 
 private:
+  std::vector<cmSourceFile*> ExternalObjects;
   std::vector<cmSourceFile*> IDLSources;
   std::vector<cmSourceFile*> ResxSources;
   std::map<cmSourceFile const*, std::string> Objects;
diff --git a/Source/cmMakefileTargetGenerator.cxx b/Source/cmMakefileTargetGenerator.cxx
index b42b911..539d1e6 100644
--- a/Source/cmMakefileTargetGenerator.cxx
+++ b/Source/cmMakefileTargetGenerator.cxx
@@ -177,8 +177,8 @@ void cmMakefileTargetGenerator::WriteTargetBuildRules()
     this->GeneratorTarget->ExtraSources,
     this->MacOSXContentGenerator);
   for(std::vector<cmSourceFile*>::const_iterator
-        si = this->GeneratorTarget->ExternalObjects.begin();
-      si != this->GeneratorTarget->ExternalObjects.end(); ++si)
+        si = this->GeneratorTarget->GetExternalObjects().begin();
+      si != this->GeneratorTarget->GetExternalObjects().end(); ++si)
     {
     this->ExternalObjects.push_back((*si)->GetFullPath());
     }
diff --git a/Source/cmNinjaTargetGenerator.cxx b/Source/cmNinjaTargetGenerator.cxx
index 090b15b..041c8be 100644
--- a/Source/cmNinjaTargetGenerator.cxx
+++ b/Source/cmNinjaTargetGenerator.cxx
@@ -473,8 +473,8 @@ cmNinjaTargetGenerator
     this->GeneratorTarget->ExtraSources,
     this->MacOSXContentGenerator);
   for(std::vector<cmSourceFile*>::const_iterator
-        si = this->GeneratorTarget->ExternalObjects.begin();
-      si != this->GeneratorTarget->ExternalObjects.end(); ++si)
+        si = this->GeneratorTarget->GetExternalObjects().begin();
+      si != this->GeneratorTarget->GetExternalObjects().end(); ++si)
     {
     this->Objects.push_back(this->GetSourceFilePath(*si));
     }
diff --git a/Source/cmVisualStudio10TargetGenerator.cxx b/Source/cmVisualStudio10TargetGenerator.cxx
index ce88db0..b8c9c85 100644
--- a/Source/cmVisualStudio10TargetGenerator.cxx
+++ b/Source/cmVisualStudio10TargetGenerator.cxx
@@ -1044,15 +1044,15 @@ void cmVisualStudio10TargetGenerator::WriteAllSources()
     {
     // For VS >= 11 we use LinkObjects to avoid linking custom command
     // outputs.  Use Object for all external objects, generated or not.
-    this->WriteSources("Object", this->GeneratorTarget->ExternalObjects);
+    this->WriteSources("Object", this->GeneratorTarget->GetExternalObjects());
     }
   else
     {
     // If an object file is generated in this target, then vs10 will use
     // it in the build, and we have to list it as None instead of Object.
     for(std::vector<cmSourceFile*>::const_iterator
-          si = this->GeneratorTarget->ExternalObjects.begin();
-        si != this->GeneratorTarget->ExternalObjects.end(); ++si)
+          si = this->GeneratorTarget->GetExternalObjects().begin();
+        si != this->GeneratorTarget->GetExternalObjects().end(); ++si)
       {
       std::vector<cmSourceFile*> const* d =
                                 this->GeneratorTarget->GetSourceDepends(*si);

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=65deeb8aaedff3554ef76ab9dd8525a98a3d9da0
commit 65deeb8aaedff3554ef76ab9dd8525a98a3d9da0
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Wed Jan 8 16:49:31 2014 +0100
Commit:     Stephen Kelly <steveire at gmail.com>
CommitDate: Wed Jan 8 18:03:03 2014 +0100

    cmGeneratorTarget: Add GetIDLSources method.

diff --git a/Source/cmGeneratorTarget.cxx b/Source/cmGeneratorTarget.cxx
index caf02ab..0e43c48 100644
--- a/Source/cmGeneratorTarget.cxx
+++ b/Source/cmGeneratorTarget.cxx
@@ -139,6 +139,12 @@ std::vector<cmSourceFile*> const& cmGeneratorTarget::GetResxSources() const
 }
 
 //----------------------------------------------------------------------------
+std::vector<cmSourceFile*> const& cmGeneratorTarget::GetIDLSources() const
+{
+  return this->IDLSources;
+}
+
+//----------------------------------------------------------------------------
 bool cmGeneratorTarget::IsSystemIncludeDirectory(const char *dir,
                                                  const char *config) const
 {
diff --git a/Source/cmGeneratorTarget.h b/Source/cmGeneratorTarget.h
index 5e31b93..61a4518 100644
--- a/Source/cmGeneratorTarget.h
+++ b/Source/cmGeneratorTarget.h
@@ -40,6 +40,7 @@ public:
   void AddExplicitObjectName(cmSourceFile* sf);
 
   std::vector<cmSourceFile*> const& GetResxSources() const;
+  std::vector<cmSourceFile*> const& GetIDLSources() const;
 
   cmTarget* Target;
   cmMakefile* Makefile;
@@ -51,7 +52,6 @@ public:
   std::vector<cmSourceFile*> ExtraSources;
   std::vector<cmSourceFile*> HeaderSources;
   std::vector<cmSourceFile*> ExternalObjects;
-  std::vector<cmSourceFile*> IDLSources;
 
   std::string ModuleDefinitionFile;
 
@@ -96,6 +96,7 @@ public:
   SourceEntriesType SourceEntries;
 
 private:
+  std::vector<cmSourceFile*> IDLSources;
   std::vector<cmSourceFile*> ResxSources;
   std::map<cmSourceFile const*, std::string> Objects;
   std::set<cmSourceFile const*> ExplicitObjectName;
diff --git a/Source/cmVisualStudio10TargetGenerator.cxx b/Source/cmVisualStudio10TargetGenerator.cxx
index a384cc3..ce88db0 100644
--- a/Source/cmVisualStudio10TargetGenerator.cxx
+++ b/Source/cmVisualStudio10TargetGenerator.cxx
@@ -997,7 +997,7 @@ void cmVisualStudio10TargetGenerator::WriteAllSources()
   this->WriteString("<ItemGroup>\n", 1);
 
   this->WriteSources("ClInclude", this->GeneratorTarget->HeaderSources);
-  this->WriteSources("Midl", this->GeneratorTarget->IDLSources);
+  this->WriteSources("Midl", this->GeneratorTarget->GetIDLSources());
 
   std::vector<cmSourceFile*> objectSources;
   this->GeneratorTarget->GetObjectSources(objectSources);

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=bb0e476d25b7a5ef6c4ca85c9acde496b4923d29
commit bb0e476d25b7a5ef6c4ca85c9acde496b4923d29
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Wed Jan 8 16:48:01 2014 +0100
Commit:     Stephen Kelly <steveire at gmail.com>
CommitDate: Wed Jan 8 18:03:03 2014 +0100

    cmGeneratorTarget: Add GetResxSources method.

diff --git a/Source/cmGeneratorTarget.cxx b/Source/cmGeneratorTarget.cxx
index 4275c97..caf02ab 100644
--- a/Source/cmGeneratorTarget.cxx
+++ b/Source/cmGeneratorTarget.cxx
@@ -133,6 +133,12 @@ bool cmGeneratorTarget::HasExplicitObjectName(cmSourceFile const* file) const
 }
 
 //----------------------------------------------------------------------------
+std::vector<cmSourceFile*> const& cmGeneratorTarget::GetResxSources() const
+{
+  return this->ResxSources;
+}
+
+//----------------------------------------------------------------------------
 bool cmGeneratorTarget::IsSystemIncludeDirectory(const char *dir,
                                                  const char *config) const
 {
diff --git a/Source/cmGeneratorTarget.h b/Source/cmGeneratorTarget.h
index 0c38fc8..5e31b93 100644
--- a/Source/cmGeneratorTarget.h
+++ b/Source/cmGeneratorTarget.h
@@ -39,6 +39,8 @@ public:
   bool HasExplicitObjectName(cmSourceFile const* file) const;
   void AddExplicitObjectName(cmSourceFile* sf);
 
+  std::vector<cmSourceFile*> const& GetResxSources() const;
+
   cmTarget* Target;
   cmMakefile* Makefile;
   cmLocalGenerator* LocalGenerator;
@@ -50,7 +52,6 @@ public:
   std::vector<cmSourceFile*> HeaderSources;
   std::vector<cmSourceFile*> ExternalObjects;
   std::vector<cmSourceFile*> IDLSources;
-  std::vector<cmSourceFile*> ResxSources;
 
   std::string ModuleDefinitionFile;
 
@@ -95,6 +96,7 @@ public:
   SourceEntriesType SourceEntries;
 
 private:
+  std::vector<cmSourceFile*> ResxSources;
   std::map<cmSourceFile const*, std::string> Objects;
   std::set<cmSourceFile const*> ExplicitObjectName;
   std::vector<cmSourceFile*> ObjectSources;
diff --git a/Source/cmVisualStudio10TargetGenerator.cxx b/Source/cmVisualStudio10TargetGenerator.cxx
index d7f006d..a384cc3 100644
--- a/Source/cmVisualStudio10TargetGenerator.cxx
+++ b/Source/cmVisualStudio10TargetGenerator.cxx
@@ -377,7 +377,7 @@ void cmVisualStudio10TargetGenerator::WriteDotNetReferences()
 void cmVisualStudio10TargetGenerator::WriteEmbeddedResourceGroup()
 {
   std::vector<cmSourceFile*> const& resxObjs =
-    this->GeneratorTarget->ResxSources;
+    this->GeneratorTarget->GetResxSources();
   if(!resxObjs.empty())
     {
     this->WriteString("<ItemGroup>\n", 1);
@@ -741,7 +741,7 @@ void cmVisualStudio10TargetGenerator::WriteGroups()
     }
 
   std::vector<cmSourceFile*> const& resxObjs =
-    this->GeneratorTarget->ResxSources;
+    this->GeneratorTarget->GetResxSources();
   if(!resxObjs.empty())
     {
     this->WriteString("<ItemGroup>\n", 1);
@@ -813,7 +813,7 @@ void cmVisualStudio10TargetGenerator::WriteGroups()
     this->WriteString("</Filter>\n", 2);
     }
 
-  if(!this->GeneratorTarget->ResxSources.empty())
+  if(!this->GeneratorTarget->GetResxSources().empty())
     {
     this->WriteString("<Filter Include=\"Resource Files\">\n", 2);
     std::string guidName = "SG_Filter_Resource Files";

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=81b9a32978aeaa1063a7f89b810872b2121f01bd
commit 81b9a32978aeaa1063a7f89b810872b2121f01bd
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Sun Nov 10 11:48:43 2013 +0100
Commit:     Stephen Kelly <steveire at gmail.com>
CommitDate: Wed Jan 8 18:03:03 2014 +0100

    cmGeneratorTarget: Add HasExplicitObjectName method.

diff --git a/Source/cmGeneratorTarget.cxx b/Source/cmGeneratorTarget.cxx
index c0bc5b7..4275c97 100644
--- a/Source/cmGeneratorTarget.cxx
+++ b/Source/cmGeneratorTarget.cxx
@@ -121,6 +121,18 @@ void cmGeneratorTarget::AddObject(cmSourceFile *sf, std::string const&name)
 }
 
 //----------------------------------------------------------------------------
+void cmGeneratorTarget::AddExplicitObjectName(cmSourceFile* sf)
+{
+  this->ExplicitObjectName.insert(sf);
+}
+
+//----------------------------------------------------------------------------
+bool cmGeneratorTarget::HasExplicitObjectName(cmSourceFile const* file) const
+{
+  return this->ExplicitObjectName.find(file) != this->ExplicitObjectName.end();
+}
+
+//----------------------------------------------------------------------------
 bool cmGeneratorTarget::IsSystemIncludeDirectory(const char *dir,
                                                  const char *config) const
 {
diff --git a/Source/cmGeneratorTarget.h b/Source/cmGeneratorTarget.h
index 74a4622..0c38fc8 100644
--- a/Source/cmGeneratorTarget.h
+++ b/Source/cmGeneratorTarget.h
@@ -36,6 +36,8 @@ public:
   const std::string& GetObjectName(cmSourceFile const* file);
 
   void AddObject(cmSourceFile *sf, std::string const&name);
+  bool HasExplicitObjectName(cmSourceFile const* file) const;
+  void AddExplicitObjectName(cmSourceFile* sf);
 
   cmTarget* Target;
   cmMakefile* Makefile;
@@ -52,8 +54,6 @@ public:
 
   std::string ModuleDefinitionFile;
 
-  std::set<cmSourceFile const*> ExplicitObjectName;
-
   std::set<std::string> ExpectedResxHeaders;
 
   /** Full path with trailing slash to the top-level directory
@@ -96,6 +96,7 @@ public:
 
 private:
   std::map<cmSourceFile const*, std::string> Objects;
+  std::set<cmSourceFile const*> ExplicitObjectName;
   std::vector<cmSourceFile*> ObjectSources;
   std::vector<cmTarget*> ObjectLibraries;
   mutable std::map<std::string, std::vector<std::string> > SystemIncludesCache;
diff --git a/Source/cmGlobalVisualStudioGenerator.cxx b/Source/cmGlobalVisualStudioGenerator.cxx
index 02dc0a9..42492e6 100644
--- a/Source/cmGlobalVisualStudioGenerator.cxx
+++ b/Source/cmGlobalVisualStudioGenerator.cxx
@@ -154,7 +154,7 @@ cmGlobalVisualStudioGenerator
     objectName += ".obj";
     if(counts[cmSystemTools::LowerCase(objectName)] > 1)
       {
-      gt->ExplicitObjectName.insert(sf);
+      gt->AddExplicitObjectName(sf);
       objectName = lg->GetObjectFileNameWithoutTarget(*sf, dir_max);
       }
     gt->AddObject(sf, objectName);
diff --git a/Source/cmLocalVisualStudio6Generator.cxx b/Source/cmLocalVisualStudio6Generator.cxx
index fe48325..f10216a 100644
--- a/Source/cmLocalVisualStudio6Generator.cxx
+++ b/Source/cmLocalVisualStudio6Generator.cxx
@@ -401,7 +401,7 @@ void cmLocalVisualStudio6Generator
     std::string compileFlags;
     std::vector<std::string> depends;
     std::string objectNameDir;
-    if(gt->ExplicitObjectName.find(*sf) != gt->ExplicitObjectName.end())
+    if(gt->HasExplicitObjectName(*sf))
       {
       objectNameDir = cmSystemTools::GetFilenamePath(gt->GetObjectName(*sf));
       }
diff --git a/Source/cmLocalVisualStudio7Generator.cxx b/Source/cmLocalVisualStudio7Generator.cxx
index f8c39d0..1a47ca3 100644
--- a/Source/cmLocalVisualStudio7Generator.cxx
+++ b/Source/cmLocalVisualStudio7Generator.cxx
@@ -1468,7 +1468,7 @@ cmLocalVisualStudio7GeneratorFCInfo
   cmGeneratorTarget* gt =
     lg->GetGlobalGenerator()->GetGeneratorTarget(&target);
   std::string objectName;
-  if(gt->ExplicitObjectName.find(&sf) != gt->ExplicitObjectName.end())
+  if(gt->HasExplicitObjectName(&sf))
     {
     objectName = gt->GetObjectName(&sf);
     }
diff --git a/Source/cmVisualStudio10TargetGenerator.cxx b/Source/cmVisualStudio10TargetGenerator.cxx
index 8cc5110..d7f006d 100644
--- a/Source/cmVisualStudio10TargetGenerator.cxx
+++ b/Source/cmVisualStudio10TargetGenerator.cxx
@@ -1083,8 +1083,7 @@ bool cmVisualStudio10TargetGenerator::OutputSourceSpecificFlags(
   cmSourceFile& sf = *source;
 
   std::string objectName;
-  if(this->GeneratorTarget->ExplicitObjectName.find(&sf)
-     != this->GeneratorTarget->ExplicitObjectName.end())
+  if(this->GeneratorTarget->HasExplicitObjectName(&sf))
     {
     objectName = this->GeneratorTarget->GetObjectName(&sf);
     }

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c26aad4bc3f433957134e8948f87447ce0e4e3ce
commit c26aad4bc3f433957134e8948f87447ce0e4e3ce
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Sun Nov 10 11:35:26 2013 +0100
Commit:     Stephen Kelly <steveire at gmail.com>
CommitDate: Wed Jan 8 18:02:37 2014 +0100

    cmGeneratorTarget: Add GetObjectName method.

diff --git a/Source/cmGeneratorTarget.cxx b/Source/cmGeneratorTarget.cxx
index 8d4c8f1..c0bc5b7 100644
--- a/Source/cmGeneratorTarget.cxx
+++ b/Source/cmGeneratorTarget.cxx
@@ -110,6 +110,17 @@ cmGeneratorTarget::GetObjectSources(std::vector<cmSourceFile*> &objs) const
 }
 
 //----------------------------------------------------------------------------
+const std::string& cmGeneratorTarget::GetObjectName(cmSourceFile const* file)
+{
+  return this->Objects[file];
+}
+
+void cmGeneratorTarget::AddObject(cmSourceFile *sf, std::string const&name)
+{
+    this->Objects[sf] = name;
+}
+
+//----------------------------------------------------------------------------
 bool cmGeneratorTarget::IsSystemIncludeDirectory(const char *dir,
                                                  const char *config) const
 {
diff --git a/Source/cmGeneratorTarget.h b/Source/cmGeneratorTarget.h
index 7e8e3e7..74a4622 100644
--- a/Source/cmGeneratorTarget.h
+++ b/Source/cmGeneratorTarget.h
@@ -33,6 +33,9 @@ public:
   std::vector<cmSourceFile*> const& GetSourceFiles() const;
 
   void GetObjectSources(std::vector<cmSourceFile*> &) const;
+  const std::string& GetObjectName(cmSourceFile const* file);
+
+  void AddObject(cmSourceFile *sf, std::string const&name);
 
   cmTarget* Target;
   cmMakefile* Makefile;
@@ -49,7 +52,6 @@ public:
 
   std::string ModuleDefinitionFile;
 
-  std::map<cmSourceFile const*, std::string> Objects;
   std::set<cmSourceFile const*> ExplicitObjectName;
 
   std::set<std::string> ExpectedResxHeaders;
@@ -93,6 +95,7 @@ public:
   SourceEntriesType SourceEntries;
 
 private:
+  std::map<cmSourceFile const*, std::string> Objects;
   std::vector<cmSourceFile*> ObjectSources;
   std::vector<cmTarget*> ObjectLibraries;
   mutable std::map<std::string, std::vector<std::string> > SystemIncludesCache;
diff --git a/Source/cmGlobalNinjaGenerator.cxx b/Source/cmGlobalNinjaGenerator.cxx
index ea30e91..ec91b0f 100644
--- a/Source/cmGlobalNinjaGenerator.cxx
+++ b/Source/cmGlobalNinjaGenerator.cxx
@@ -654,7 +654,7 @@ void cmGlobalNinjaGenerator::ComputeTargetObjects(cmGeneratorTarget* gt) const
     cmSourceFile* sf = *si;
     std::string objectName = gt->LocalGenerator
       ->GetObjectFileNameWithoutTarget(*sf, dir_max);
-    gt->Objects[sf] = objectName;
+    gt->AddObject(sf, objectName);
     }
 }
 
diff --git a/Source/cmGlobalUnixMakefileGenerator3.cxx b/Source/cmGlobalUnixMakefileGenerator3.cxx
index 62156a6..0b37a07 100644
--- a/Source/cmGlobalUnixMakefileGenerator3.cxx
+++ b/Source/cmGlobalUnixMakefileGenerator3.cxx
@@ -132,7 +132,7 @@ cmGlobalUnixMakefileGenerator3
     std::string objectName = gt->LocalGenerator
       ->GetObjectFileNameWithoutTarget(*sf, dir_max,
                                        &hasSourceExtension);
-    gt->Objects[sf] = objectName;
+    gt->AddObject(sf, objectName);
     lg->AddLocalObjectFile(target, sf, objectName, hasSourceExtension);
     }
 }
diff --git a/Source/cmGlobalVisualStudioGenerator.cxx b/Source/cmGlobalVisualStudioGenerator.cxx
index 275478f..02dc0a9 100644
--- a/Source/cmGlobalVisualStudioGenerator.cxx
+++ b/Source/cmGlobalVisualStudioGenerator.cxx
@@ -157,7 +157,7 @@ cmGlobalVisualStudioGenerator
       gt->ExplicitObjectName.insert(sf);
       objectName = lg->GetObjectFileNameWithoutTarget(*sf, dir_max);
       }
-    gt->Objects[sf] = objectName;
+    gt->AddObject(sf, objectName);
     }
 
   std::string dir = gt->Makefile->GetCurrentOutputDirectory();
diff --git a/Source/cmGlobalXCodeGenerator.cxx b/Source/cmGlobalXCodeGenerator.cxx
index 5336c99..09d8124 100644
--- a/Source/cmGlobalXCodeGenerator.cxx
+++ b/Source/cmGlobalXCodeGenerator.cxx
@@ -3943,7 +3943,7 @@ cmGlobalXCodeGenerator
       // TODO: emit warning about duplicate name?
       }
 
-    gt->Objects[sf] = objectName;
+    gt->AddObject(sf, objectName);
     }
 
   const char* configName = this->GetCMakeCFGIntDir();
diff --git a/Source/cmLocalVisualStudio6Generator.cxx b/Source/cmLocalVisualStudio6Generator.cxx
index 8eeb89a..fe48325 100644
--- a/Source/cmLocalVisualStudio6Generator.cxx
+++ b/Source/cmLocalVisualStudio6Generator.cxx
@@ -403,7 +403,7 @@ void cmLocalVisualStudio6Generator
     std::string objectNameDir;
     if(gt->ExplicitObjectName.find(*sf) != gt->ExplicitObjectName.end())
       {
-      objectNameDir = cmSystemTools::GetFilenamePath(gt->Objects[*sf]);
+      objectNameDir = cmSystemTools::GetFilenamePath(gt->GetObjectName(*sf));
       }
 
     // Add per-source file flags.
diff --git a/Source/cmLocalVisualStudio7Generator.cxx b/Source/cmLocalVisualStudio7Generator.cxx
index b645f8f..f8c39d0 100644
--- a/Source/cmLocalVisualStudio7Generator.cxx
+++ b/Source/cmLocalVisualStudio7Generator.cxx
@@ -1470,7 +1470,7 @@ cmLocalVisualStudio7GeneratorFCInfo
   std::string objectName;
   if(gt->ExplicitObjectName.find(&sf) != gt->ExplicitObjectName.end())
     {
-    objectName = gt->Objects[&sf];
+    objectName = gt->GetObjectName(&sf);
     }
 
   // Compute per-source, per-config information.
diff --git a/Source/cmMakefileTargetGenerator.cxx b/Source/cmMakefileTargetGenerator.cxx
index da54ece..b42b911 100644
--- a/Source/cmMakefileTargetGenerator.cxx
+++ b/Source/cmMakefileTargetGenerator.cxx
@@ -422,7 +422,7 @@ void cmMakefileTargetGenerator::WriteObjectRuleFiles(cmSourceFile& source)
     }
 
   // Get the full path name of the object file.
-  std::string const& objectName = this->GeneratorTarget->Objects[&source];
+  std::string const& objectName = this->GeneratorTarget->GetObjectName(&source);
   std::string obj = this->LocalGenerator->GetTargetDirectory(*this->Target);
   obj += "/";
   obj += objectName;
diff --git a/Source/cmNinjaTargetGenerator.cxx b/Source/cmNinjaTargetGenerator.cxx
index 6c80d84..090b15b 100644
--- a/Source/cmNinjaTargetGenerator.cxx
+++ b/Source/cmNinjaTargetGenerator.cxx
@@ -276,7 +276,8 @@ cmNinjaTargetGenerator
   std::string path = this->LocalGenerator->GetHomeRelativeOutputPath();
   if(!path.empty())
     path += "/";
-  std::string const& objectName = this->GeneratorTarget->Objects[source];
+  std::string const& objectName = this->GeneratorTarget
+                                      ->GetObjectName(source);
   path += this->LocalGenerator->GetTargetDirectory(*this->Target);
   path += "/";
   path += objectName;
diff --git a/Source/cmVisualStudio10TargetGenerator.cxx b/Source/cmVisualStudio10TargetGenerator.cxx
index a0867a5..8cc5110 100644
--- a/Source/cmVisualStudio10TargetGenerator.cxx
+++ b/Source/cmVisualStudio10TargetGenerator.cxx
@@ -1086,7 +1086,7 @@ bool cmVisualStudio10TargetGenerator::OutputSourceSpecificFlags(
   if(this->GeneratorTarget->ExplicitObjectName.find(&sf)
      != this->GeneratorTarget->ExplicitObjectName.end())
     {
-    objectName = this->GeneratorTarget->Objects[&sf];
+    objectName = this->GeneratorTarget->GetObjectName(&sf);
     }
   std::string flags;
   std::string defines;

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=765487077d02759d282c66165433ceaa0826e45c
commit 765487077d02759d282c66165433ceaa0826e45c
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Sun Nov 10 11:22:44 2013 +0100
Commit:     Stephen Kelly <steveire at gmail.com>
CommitDate: Wed Jan 8 17:30:51 2014 +0100

    cmGeneratorTarget: Add GetObjectSources method.
    
    This method and others like it will be able to get a config parameter
    later to implement the INTERFACE_SOURCES feature.

diff --git a/Source/cmGeneratorTarget.cxx b/Source/cmGeneratorTarget.cxx
index 2c976cd..8d4c8f1 100644
--- a/Source/cmGeneratorTarget.cxx
+++ b/Source/cmGeneratorTarget.cxx
@@ -103,6 +103,13 @@ static void handleSystemIncludesDep(cmMakefile *mf, const std::string &name,
 }
 
 //----------------------------------------------------------------------------
+void
+cmGeneratorTarget::GetObjectSources(std::vector<cmSourceFile*> &objs) const
+{
+  objs = this->ObjectSources;
+}
+
+//----------------------------------------------------------------------------
 bool cmGeneratorTarget::IsSystemIncludeDirectory(const char *dir,
                                                  const char *config) const
 {
diff --git a/Source/cmGeneratorTarget.h b/Source/cmGeneratorTarget.h
index 8b760f1..7e8e3e7 100644
--- a/Source/cmGeneratorTarget.h
+++ b/Source/cmGeneratorTarget.h
@@ -32,6 +32,8 @@ public:
   bool GetPropertyAsBool(const char *prop) const;
   std::vector<cmSourceFile*> const& GetSourceFiles() const;
 
+  void GetObjectSources(std::vector<cmSourceFile*> &) const;
+
   cmTarget* Target;
   cmMakefile* Makefile;
   cmLocalGenerator* LocalGenerator;
@@ -41,7 +43,6 @@ public:
   std::vector<cmSourceFile*> CustomCommands;
   std::vector<cmSourceFile*> ExtraSources;
   std::vector<cmSourceFile*> HeaderSources;
-  std::vector<cmSourceFile*> ObjectSources;
   std::vector<cmSourceFile*> ExternalObjects;
   std::vector<cmSourceFile*> IDLSources;
   std::vector<cmSourceFile*> ResxSources;
@@ -58,8 +59,6 @@ public:
       time config name placeholder if needed for the generator.  */
   std::string ObjectDirectory;
 
-  std::vector<cmTarget*> ObjectLibraries;
-
   void UseObjectLibraries(std::vector<std::string>& objs) const;
 
   void GetAppleArchs(const char* config,
@@ -94,6 +93,8 @@ public:
   SourceEntriesType SourceEntries;
 
 private:
+  std::vector<cmSourceFile*> ObjectSources;
+  std::vector<cmTarget*> ObjectLibraries;
   mutable std::map<std::string, std::vector<std::string> > SystemIncludesCache;
 
   cmGeneratorTarget(cmGeneratorTarget const&);
diff --git a/Source/cmGlobalNinjaGenerator.cxx b/Source/cmGlobalNinjaGenerator.cxx
index 4b92058..ea30e91 100644
--- a/Source/cmGlobalNinjaGenerator.cxx
+++ b/Source/cmGlobalNinjaGenerator.cxx
@@ -644,10 +644,12 @@ void cmGlobalNinjaGenerator::ComputeTargetObjects(cmGeneratorTarget* gt) const
   dir_max += "/";
   gt->ObjectDirectory = dir_max;
 
+  std::vector<cmSourceFile*> objectSources;
+  gt->GetObjectSources(objectSources);
   // Compute the name of each object file.
   for(std::vector<cmSourceFile*>::iterator
-        si = gt->ObjectSources.begin();
-      si != gt->ObjectSources.end(); ++si)
+        si = objectSources.begin();
+      si != objectSources.end(); ++si)
     {
     cmSourceFile* sf = *si;
     std::string objectName = gt->LocalGenerator
diff --git a/Source/cmGlobalUnixMakefileGenerator3.cxx b/Source/cmGlobalUnixMakefileGenerator3.cxx
index 622a7c5..62156a6 100644
--- a/Source/cmGlobalUnixMakefileGenerator3.cxx
+++ b/Source/cmGlobalUnixMakefileGenerator3.cxx
@@ -120,10 +120,12 @@ cmGlobalUnixMakefileGenerator3
   dir_max += "/";
   gt->ObjectDirectory = dir_max;
 
+  std::vector<cmSourceFile*> objectSources;
+  gt->GetObjectSources(objectSources);
   // Compute the name of each object file.
   for(std::vector<cmSourceFile*>::iterator
-        si = gt->ObjectSources.begin();
-      si != gt->ObjectSources.end(); ++si)
+        si = objectSources.begin();
+      si != objectSources.end(); ++si)
     {
     cmSourceFile* sf = *si;
     bool hasSourceExtension = true;
diff --git a/Source/cmGlobalVisualStudioGenerator.cxx b/Source/cmGlobalVisualStudioGenerator.cxx
index 93a597c..275478f 100644
--- a/Source/cmGlobalVisualStudioGenerator.cxx
+++ b/Source/cmGlobalVisualStudioGenerator.cxx
@@ -129,9 +129,11 @@ cmGlobalVisualStudioGenerator
   // Count the number of object files with each name.  Note that
   // windows file names are not case sensitive.
   std::map<cmStdString, int> counts;
+  std::vector<cmSourceFile*> objectSources;
+  gt->GetObjectSources(objectSources);
   for(std::vector<cmSourceFile*>::const_iterator
-        si = gt->ObjectSources.begin();
-      si != gt->ObjectSources.end(); ++si)
+        si = objectSources.begin();
+      si != objectSources.end(); ++si)
     {
     cmSourceFile* sf = *si;
     std::string objectNameLower = cmSystemTools::LowerCase(
@@ -143,8 +145,8 @@ cmGlobalVisualStudioGenerator
   // For all source files producing duplicate names we need unique
   // object name computation.
   for(std::vector<cmSourceFile*>::const_iterator
-        si = gt->ObjectSources.begin();
-      si != gt->ObjectSources.end(); ++si)
+        si = objectSources.begin();
+      si != objectSources.end(); ++si)
     {
     cmSourceFile* sf = *si;
     std::string objectName =
diff --git a/Source/cmGlobalXCodeGenerator.cxx b/Source/cmGlobalXCodeGenerator.cxx
index eef49db..5336c99 100644
--- a/Source/cmGlobalXCodeGenerator.cxx
+++ b/Source/cmGlobalXCodeGenerator.cxx
@@ -3925,9 +3925,11 @@ cmGlobalXCodeGenerator
   // to avoid exact duplicate file names. Note that Mac file names are not
   // typically case sensitive, hence the LowerCase.
   std::map<cmStdString, int> counts;
+  std::vector<cmSourceFile*> objectSources;
+  gt->GetObjectSources(objectSources);
   for(std::vector<cmSourceFile*>::const_iterator
-      si = gt->ObjectSources.begin();
-      si != gt->ObjectSources.end(); ++si)
+      si = objectSources.begin();
+      si != objectSources.end(); ++si)
     {
     cmSourceFile* sf = *si;
     std::string objectName =
diff --git a/Source/cmMakefileTargetGenerator.cxx b/Source/cmMakefileTargetGenerator.cxx
index f82b808..da54ece 100644
--- a/Source/cmMakefileTargetGenerator.cxx
+++ b/Source/cmMakefileTargetGenerator.cxx
@@ -182,9 +182,10 @@ void cmMakefileTargetGenerator::WriteTargetBuildRules()
     {
     this->ExternalObjects.push_back((*si)->GetFullPath());
     }
+  std::vector<cmSourceFile*> objectSources;
+  this->GeneratorTarget->GetObjectSources(objectSources);
   for(std::vector<cmSourceFile*>::const_iterator
-        si = this->GeneratorTarget->ObjectSources.begin();
-      si != this->GeneratorTarget->ObjectSources.end(); ++si)
+        si = objectSources.begin(); si != objectSources.end(); ++si)
     {
     // Generate this object file's rule file.
     this->WriteObjectRuleFiles(**si);
diff --git a/Source/cmNinjaTargetGenerator.cxx b/Source/cmNinjaTargetGenerator.cxx
index c8b03e1..6c80d84 100644
--- a/Source/cmNinjaTargetGenerator.cxx
+++ b/Source/cmNinjaTargetGenerator.cxx
@@ -477,9 +477,10 @@ cmNinjaTargetGenerator
     {
     this->Objects.push_back(this->GetSourceFilePath(*si));
     }
+  std::vector<cmSourceFile*> objectSources;
+  this->GeneratorTarget->GetObjectSources(objectSources);
   for(std::vector<cmSourceFile*>::const_iterator
-        si = this->GeneratorTarget->ObjectSources.begin();
-      si != this->GeneratorTarget->ObjectSources.end(); ++si)
+        si = objectSources.begin(); si != objectSources.end(); ++si)
     {
     this->WriteObjectBuildStatement(*si);
     }
diff --git a/Source/cmVisualStudio10TargetGenerator.cxx b/Source/cmVisualStudio10TargetGenerator.cxx
index 784cadb..a0867a5 100644
--- a/Source/cmVisualStudio10TargetGenerator.cxx
+++ b/Source/cmVisualStudio10TargetGenerator.cxx
@@ -999,9 +999,11 @@ void cmVisualStudio10TargetGenerator::WriteAllSources()
   this->WriteSources("ClInclude", this->GeneratorTarget->HeaderSources);
   this->WriteSources("Midl", this->GeneratorTarget->IDLSources);
 
+  std::vector<cmSourceFile*> objectSources;
+  this->GeneratorTarget->GetObjectSources(objectSources);
   for(std::vector<cmSourceFile*>::const_iterator
-        si = this->GeneratorTarget->ObjectSources.begin();
-      si != this->GeneratorTarget->ObjectSources.end(); ++si)
+        si = objectSources.begin();
+      si != objectSources.end(); ++si)
     {
     const char* lang = (*si)->GetLanguage();
     const char* tool = NULL;

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f579fe0d7a102df0c69c957d48e3e728333dffe1
commit f579fe0d7a102df0c69c957d48e3e728333dffe1
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Wed Jan 8 15:54:37 2014 +0100
Commit:     Stephen Kelly <steveire at gmail.com>
CommitDate: Wed Jan 8 16:06:41 2014 +0100

    Help: Fix link to MAP_IMPORTED_CONFIG_<CONFIG>

diff --git a/Help/manual/cmake-buildsystem.7.rst b/Help/manual/cmake-buildsystem.7.rst
index 03f9115..2b37c0c 100644
--- a/Help/manual/cmake-buildsystem.7.rst
+++ b/Help/manual/cmake-buildsystem.7.rst
@@ -428,7 +428,7 @@ the ``CONFIG`` generator expression.
 
 The ``CONFIG`` parameter is compared case-insensitively with the configuration
 being built.  In the presence of :prop_tgt:`IMPORTED` targets, the content of
-:prop_tgt:`MAP_IMPORTED_CONFIG_DEBUG <MAP_IMPORTED_CONFIG_CONFIG>` is also
+:prop_tgt:`MAP_IMPORTED_CONFIG_DEBUG <MAP_IMPORTED_CONFIG_<CONFIG>>` is also
 accounted for by this expression.
 
 Some buildsystems generated by :manual:`cmake(1)` have a predetermined

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=590d238914ff1b8652c0074e6715f51cad5eb7db
commit 590d238914ff1b8652c0074e6715f51cad5eb7db
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Wed Jan 8 00:38:54 2014 +0100
Commit:     Stephen Kelly <steveire at gmail.com>
CommitDate: Wed Jan 8 16:06:41 2014 +0100

    cmTarget: Handle NO_SYSTEM_FROM_IMPORTED.
    
    This handling was lost in commit faedd2be (cmTarget: Fix system include
    annotation propagation., 2014-01-01).

diff --git a/Source/cmGeneratorTarget.cxx b/Source/cmGeneratorTarget.cxx
index 6894cfc..2c976cd 100644
--- a/Source/cmGeneratorTarget.cxx
+++ b/Source/cmGeneratorTarget.cxx
@@ -65,7 +65,8 @@ cmGeneratorTarget::GetSourceDepends(cmSourceFile* sf) const
 static void handleSystemIncludesDep(cmMakefile *mf, const std::string &name,
                                   const char *config, cmTarget *headTarget,
                                   cmGeneratorExpressionDAGChecker *dagChecker,
-                                  std::vector<std::string>& result)
+                                  std::vector<std::string>& result,
+                                  bool excludeImported)
 {
   cmTarget* depTgt = mf->FindTargetToUse(name.c_str());
 
@@ -85,7 +86,7 @@ static void handleSystemIncludesDep(cmMakefile *mf, const std::string &name,
                                       config, false, headTarget,
                                       depTgt, dagChecker), result);
     }
-  if (!depTgt->IsImported())
+  if (!depTgt->IsImported() || excludeImported)
     {
     return;
     }
@@ -130,6 +131,9 @@ bool cmGeneratorTarget::IsSystemIncludeDirectory(const char *dir,
                                         this->GetName(),
                                         "SYSTEM_INCLUDE_DIRECTORIES", 0, 0);
 
+    bool excludeImported
+                = this->Target->GetPropertyAsBool("NO_SYSTEM_FROM_IMPORTED");
+
     std::vector<std::string> result;
     for (std::set<cmStdString>::const_iterator
         it = this->Target->GetSystemIncludeDirectories().begin();
@@ -156,7 +160,7 @@ bool cmGeneratorTarget::IsSystemIncludeDirectory(const char *dir,
           }
 
         handleSystemIncludesDep(this->Makefile, *li, config, this->Target,
-                                &dagChecker, result);
+                                &dagChecker, result, excludeImported);
 
         std::vector<std::string> deps;
         tgt->GetTransitivePropertyLinkLibraries(config, this->Target, deps);
@@ -167,7 +171,7 @@ bool cmGeneratorTarget::IsSystemIncludeDirectory(const char *dir,
           if (uniqueDeps.insert(*di).second)
             {
             handleSystemIncludesDep(this->Makefile, *di, config, this->Target,
-                                    &dagChecker, result);
+                                    &dagChecker, result, excludeImported);
             }
           }
         }

-----------------------------------------------------------------------

Summary of changes:
 Help/manual/cmake-buildsystem.7.rst        |    2 +-
 Source/cmExtraCodeBlocksGenerator.cxx      |    3 +-
 Source/cmExtraEclipseCDT4Generator.cxx     |    3 +-
 Source/cmExtraSublimeTextGenerator.cxx     |    3 +-
 Source/cmFLTKWrapUICommand.cxx             |    4 +-
 Source/cmGeneratorTarget.cxx               |   95 +++++++++++++++++++++++++---
 Source/cmGeneratorTarget.h                 |   47 +++++++++-----
 Source/cmGlobalGenerator.cxx               |    3 +-
 Source/cmGlobalKdevelopGenerator.cxx       |    3 +-
 Source/cmGlobalNinjaGenerator.cxx          |    8 ++-
 Source/cmGlobalUnixMakefileGenerator3.cxx  |    8 ++-
 Source/cmGlobalVisualStudioGenerator.cxx   |   14 +++--
 Source/cmGlobalXCodeGenerator.cxx          |   17 +++--
 Source/cmLocalGenerator.cxx                |    6 +-
 Source/cmLocalVisualStudio6Generator.cxx   |    7 +-
 Source/cmLocalVisualStudio7Generator.cxx   |    7 +-
 Source/cmMakefileTargetGenerator.cxx       |   23 ++++---
 Source/cmNinjaTargetGenerator.cxx          |   24 ++++---
 Source/cmNinjaUtilityTargetGenerator.cxx   |    4 +-
 Source/cmQtAutoGenerators.cxx              |   12 +++-
 Source/cmTarget.cxx                        |    7 +-
 Source/cmTarget.h                          |    2 +-
 Source/cmVisualStudio10TargetGenerator.cxx |   40 ++++++------
 23 files changed, 231 insertions(+), 111 deletions(-)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list