[Cmake-commits] CMake branch, next, updated. v3.0.0-4234-g9e9d698

Brad King brad.king at kitware.com
Mon Jul 14 14:41:14 EDT 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  9e9d6984b765ce89cd29ee229973b6bd59fdcec4 (commit)
       via  8a205b980c8dc088aa2c9f91adb90d57a65fa560 (commit)
       via  d57be904ae997e44ec9ac3b44722277f81936577 (commit)
       via  b3b44d138e50b2c5b4a4d327aae9290dba56862d (commit)
       via  80cb12bb8bc14eb3e56f344d03254777351e5c74 (commit)
      from  5872fac134116adb2c3ffe0b493b46b157c9fac7 (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=9e9d6984b765ce89cd29ee229973b6bd59fdcec4
commit 9e9d6984b765ce89cd29ee229973b6bd59fdcec4
Merge: 5872fac 8a205b9
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Mon Jul 14 14:41:13 2014 -0400
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Mon Jul 14 14:41:13 2014 -0400

    Merge topic 'target-legacy-depends-only-for-vs6' into next
    
    8a205b98 cmTarget: Compile old-style link dependencies only for VS 6
    d57be904 cmTarget: Run old-style link dependencies only for VS 6
    b3b44d13 cmTarget: Rename old-style link dependencies code as "ForVS6"
    80cb12bb export_library_dependencies: Use original link libraries internally


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=8a205b980c8dc088aa2c9f91adb90d57a65fa560
commit 8a205b980c8dc088aa2c9f91adb90d57a65fa560
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Mon Jul 14 14:39:20 2014 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Mon Jul 14 14:39:20 2014 -0400

    cmTarget: Compile old-style link dependencies only for VS 6
    
    Compile all the "ForVS6" cmTarget members only on Windows.  No other
    platforms support the VS 6 generator.

diff --git a/Source/cmGlobalGenerator.h b/Source/cmGlobalGenerator.h
index 160a8fb..5e6c03e 100644
--- a/Source/cmGlobalGenerator.h
+++ b/Source/cmGlobalGenerator.h
@@ -214,8 +214,10 @@ public:
    */
   virtual void FindMakeProgram(cmMakefile*);
 
+#if defined(_WIN32) && !defined(__CYGWIN__)
   /** Is this the Visual Studio 6 generator?  */
   virtual bool IsForVS6() const { return false; }
+#endif
 
   ///! Find a target by name by searching the local generators.
   cmTarget* FindTarget(const std::string& name,
diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx
index 0d17dc2..aaae457 100644
--- a/Source/cmTarget.cxx
+++ b/Source/cmTarget.cxx
@@ -258,7 +258,9 @@ cmTarget::cmTarget()
 #undef INITIALIZE_TARGET_POLICY_MEMBER
 
   this->Makefile = 0;
+#if defined(_WIN32) && !defined(__CYGWIN__)
   this->LinkLibrariesForVS6Analyzed = false;
+#endif
   this->HaveInstallRule = false;
   this->DLLPlatform = false;
   this->IsApple = false;
@@ -517,11 +519,13 @@ void cmTarget::FinishConfigure()
   // invalidation code in this source file is buggy.
   this->ClearLinkMaps();
 
+#if defined(_WIN32) && !defined(__CYGWIN__)
   // Do old-style link dependency analysis only for CM_USE_OLD_VS6.
   if(this->Makefile->GetLocalGenerator()->GetGlobalGenerator()->IsForVS6())
     {
     this->AnalyzeLibDependenciesForVS6(*this->Makefile);
     }
+#endif
 }
 
 //----------------------------------------------------------------------------
@@ -1335,7 +1339,9 @@ void cmTarget::AddLinkLibrary(cmMakefile& mf,
   cmTarget::LibraryID tmp;
   tmp.first = lib;
   tmp.second = llt;
+#if defined(_WIN32) && !defined(__CYGWIN__)
   this->LinkLibrariesForVS6.push_back( tmp );
+#endif
   this->OriginalLinkLibraries.push_back(tmp);
   this->ClearLinkMaps();
 
@@ -1401,6 +1407,7 @@ cmTarget::AddSystemIncludeDirectories(const std::vector<std::string> &incs)
     }
 }
 
+#if defined(_WIN32) && !defined(__CYGWIN__)
 //----------------------------------------------------------------------------
 void
 cmTarget::AnalyzeLibDependenciesForVS6( const cmMakefile& mf )
@@ -1693,6 +1700,7 @@ void cmTarget::GatherDependenciesForVS6( const cmMakefile& mf,
     this->DeleteDependencyForVS6( dep_map, lib, lib);
     }
 }
+#endif
 
 //----------------------------------------------------------------------------
 static bool whiteListedInterfaceProperty(const std::string& prop)
diff --git a/Source/cmTarget.h b/Source/cmTarget.h
index bd5417a..c2efb14 100644
--- a/Source/cmTarget.h
+++ b/Source/cmTarget.h
@@ -179,8 +179,6 @@ public:
   typedef std::pair<std::string, LinkLibraryType> LibraryID;
 
   typedef std::vector<LibraryID > LinkLibraryVectorType;
-  const LinkLibraryVectorType &GetLinkLibrariesForVS6() const {
-  return this->LinkLibrariesForVS6;}
   const LinkLibraryVectorType &GetOriginalLinkLibraries() const
     {return this->OriginalLinkLibraries;}
 
@@ -613,6 +611,11 @@ public:
     return this->MaxLanguageStandards;
   }
 
+#if defined(_WIN32) && !defined(__CYGWIN__)
+  const LinkLibraryVectorType &GetLinkLibrariesForVS6() const {
+  return this->LinkLibrariesForVS6;}
+#endif
+
 private:
   bool HandleLocationPropertyPolicy(cmMakefile* context) const;
 
@@ -622,6 +625,7 @@ private:
 
   std::vector<std::pair<TLLSignature, cmListFileBacktrace> > TLLCommands;
 
+#if defined(_WIN32) && !defined(__CYGWIN__)
   /**
    * A list of direct dependencies. Use in conjunction with DependencyMap.
    */
@@ -672,6 +676,7 @@ private:
                                  DependencyMap& dep_map);
 
   void AnalyzeLibDependenciesForVS6( const cmMakefile& mf );
+#endif
 
   const char* GetSuffixVariableInternal(bool implib) const;
   const char* GetPrefixVariableInternal(bool implib) const;
@@ -720,9 +725,11 @@ private:
   std::vector<cmCustomCommand> PreLinkCommands;
   std::vector<cmCustomCommand> PostBuildCommands;
   TargetType TargetTypeValue;
-  LinkLibraryVectorType LinkLibrariesForVS6;
   LinkLibraryVectorType PrevLinkedLibraries;
+#if defined(_WIN32) && !defined(__CYGWIN__)
+  LinkLibraryVectorType LinkLibrariesForVS6;
   bool LinkLibrariesForVS6Analyzed;
+#endif
   std::vector<std::string> LinkDirectories;
   std::set<std::string> LinkDirectoriesEmmitted;
   bool HaveInstallRule;

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d57be904ae997e44ec9ac3b44722277f81936577
commit d57be904ae997e44ec9ac3b44722277f81936577
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Mon Jul 14 14:38:58 2014 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Mon Jul 14 14:38:58 2014 -0400

    cmTarget: Run old-style link dependencies only for VS 6
    
    Invoke it at runtime only with the VS 6 generator.  No other generators
    need it.

diff --git a/Source/cmGlobalGenerator.h b/Source/cmGlobalGenerator.h
index 6403429..160a8fb 100644
--- a/Source/cmGlobalGenerator.h
+++ b/Source/cmGlobalGenerator.h
@@ -214,6 +214,9 @@ public:
    */
   virtual void FindMakeProgram(cmMakefile*);
 
+  /** Is this the Visual Studio 6 generator?  */
+  virtual bool IsForVS6() const { return false; }
+
   ///! Find a target by name by searching the local generators.
   cmTarget* FindTarget(const std::string& name,
                        bool excludeAliases = false) const;
diff --git a/Source/cmGlobalVisualStudio6Generator.h b/Source/cmGlobalVisualStudio6Generator.h
index 2797e11..b2fd28f 100644
--- a/Source/cmGlobalVisualStudio6Generator.h
+++ b/Source/cmGlobalVisualStudio6Generator.h
@@ -91,6 +91,8 @@ public:
 
   virtual void FindMakeProgram(cmMakefile*);
 
+  virtual bool IsForVS6() const { return true; }
+
 protected:
   virtual const char* GetIDEVersion() { return "6.0"; }
 private:
diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx
index c480669..0d17dc2 100644
--- a/Source/cmTarget.cxx
+++ b/Source/cmTarget.cxx
@@ -517,8 +517,11 @@ void cmTarget::FinishConfigure()
   // invalidation code in this source file is buggy.
   this->ClearLinkMaps();
 
-  // Do old-style link dependency analysis.
-  this->AnalyzeLibDependenciesForVS6(*this->Makefile);
+  // Do old-style link dependency analysis only for CM_USE_OLD_VS6.
+  if(this->Makefile->GetLocalGenerator()->GetGlobalGenerator()->IsForVS6())
+    {
+    this->AnalyzeLibDependenciesForVS6(*this->Makefile);
+    }
 }
 
 //----------------------------------------------------------------------------

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b3b44d138e50b2c5b4a4d327aae9290dba56862d
commit b3b44d138e50b2c5b4a4d327aae9290dba56862d
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Mon Jul 14 14:21:54 2014 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Mon Jul 14 14:37:04 2014 -0400

    cmTarget: Rename old-style link dependencies code as "ForVS6"
    
    The old link dependency analysis is now needed only for the VS 6
    generator code delimited by CM_USE_OLD_VS6 to support project-provided
    project templates.  Rename the related cmTarget members to be "ForVS6".

diff --git a/Source/cmLocalVisualStudio6Generator.cxx b/Source/cmLocalVisualStudio6Generator.cxx
index 5db735f..c14fb2b 100644
--- a/Source/cmLocalVisualStudio6Generator.cxx
+++ b/Source/cmLocalVisualStudio6Generator.cxx
@@ -1101,7 +1101,8 @@ void cmLocalVisualStudio6Generator
       }
     }
   // find link libraries
-  const cmTarget::LinkLibraryVectorType& libs = target.GetLinkLibraries();
+  const cmTarget::LinkLibraryVectorType& libs =
+    target.GetLinkLibrariesForVS6();
   cmTarget::LinkLibraryVectorType::const_iterator j;
   for(j = libs.begin(); j != libs.end(); ++j)
     {
diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx
index a740bc3..c480669 100644
--- a/Source/cmTarget.cxx
+++ b/Source/cmTarget.cxx
@@ -258,7 +258,7 @@ cmTarget::cmTarget()
 #undef INITIALIZE_TARGET_POLICY_MEMBER
 
   this->Makefile = 0;
-  this->LinkLibrariesAnalyzed = false;
+  this->LinkLibrariesForVS6Analyzed = false;
   this->HaveInstallRule = false;
   this->DLLPlatform = false;
   this->IsApple = false;
@@ -518,7 +518,7 @@ void cmTarget::FinishConfigure()
   this->ClearLinkMaps();
 
   // Do old-style link dependency analysis.
-  this->AnalyzeLibDependencies(*this->Makefile);
+  this->AnalyzeLibDependenciesForVS6(*this->Makefile);
 }
 
 //----------------------------------------------------------------------------
@@ -1332,7 +1332,7 @@ void cmTarget::AddLinkLibrary(cmMakefile& mf,
   cmTarget::LibraryID tmp;
   tmp.first = lib;
   tmp.second = llt;
-  this->LinkLibraries.push_back( tmp );
+  this->LinkLibrariesForVS6.push_back( tmp );
   this->OriginalLinkLibraries.push_back(tmp);
   this->ClearLinkMaps();
 
@@ -1400,7 +1400,7 @@ cmTarget::AddSystemIncludeDirectories(const std::vector<std::string> &incs)
 
 //----------------------------------------------------------------------------
 void
-cmTarget::AnalyzeLibDependencies( const cmMakefile& mf )
+cmTarget::AnalyzeLibDependenciesForVS6( const cmMakefile& mf )
 {
   // There are two key parts of the dependency analysis: (1)
   // determining the libraries in the link line, and (2) constructing
@@ -1477,8 +1477,8 @@ cmTarget::AnalyzeLibDependencies( const cmMakefile& mf )
  // eventually be removed.  This code was moved here from the end of
  // old source list processing code which was called just before this
  // method.
- for(LinkLibraryVectorType::iterator p = this->LinkLibraries.begin();
-     p != this->LinkLibraries.end(); ++p)
+ for(LinkLibraryVectorType::iterator p = this->LinkLibrariesForVS6.begin();
+     p != this->LinkLibrariesForVS6.end(); ++p)
    {
    this->Makefile->ExpandVariablesInString(p->first, true, true);
    }
@@ -1490,22 +1490,22 @@ cmTarget::AnalyzeLibDependencies( const cmMakefile& mf )
  // 1. Build the dependency graph
  //
  for(LinkLibraryVectorType::reverse_iterator lib
-       = this->LinkLibraries.rbegin();
-     lib != this->LinkLibraries.rend(); ++lib)
+       = this->LinkLibrariesForVS6.rbegin();
+     lib != this->LinkLibrariesForVS6.rend(); ++lib)
    {
-   this->GatherDependencies( mf, *lib, dep_map);
+   this->GatherDependenciesForVS6( mf, *lib, dep_map);
    }
 
  // 2. Remove any dependencies that are already satisfied in the original
  // link line.
  //
- for(LinkLibraryVectorType::iterator lib = this->LinkLibraries.begin();
-     lib != this->LinkLibraries.end(); ++lib)
+ for(LinkLibraryVectorType::iterator lib = this->LinkLibrariesForVS6.begin();
+     lib != this->LinkLibrariesForVS6.end(); ++lib)
    {
    for( LinkLibraryVectorType::iterator lib2 = lib;
-        lib2 != this->LinkLibraries.end(); ++lib2)
+        lib2 != this->LinkLibrariesForVS6.end(); ++lib2)
      {
-     this->DeleteDependency( dep_map, *lib, *lib2);
+     this->DeleteDependencyForVS6( dep_map, *lib, *lib2);
      }
    }
 
@@ -1514,43 +1514,43 @@ cmTarget::AnalyzeLibDependencies( const cmMakefile& mf )
  // missing.  Start from the back and keep adding.
  //
  std::set<DependencyMap::key_type> done, visited;
- std::vector<DependencyMap::key_type> newLinkLibraries;
+ std::vector<DependencyMap::key_type> newLinkLibrariesForVS6;
  for(LinkLibraryVectorType::reverse_iterator lib =
-       this->LinkLibraries.rbegin();
-     lib != this->LinkLibraries.rend(); ++lib)
+       this->LinkLibrariesForVS6.rbegin();
+     lib != this->LinkLibrariesForVS6.rend(); ++lib)
    {
    // skip zero size library entries, this may happen
    // if a variable expands to nothing.
    if (lib->first.size() != 0)
      {
-     this->Emit( *lib, dep_map, done, visited, newLinkLibraries );
+     this->EmitForVS6( *lib, dep_map, done, visited, newLinkLibrariesForVS6 );
      }
    }
 
  // 4. Add the new libraries to the link line.
  //
  for( std::vector<DependencyMap::key_type>::reverse_iterator k =
-        newLinkLibraries.rbegin();
-      k != newLinkLibraries.rend(); ++k )
+        newLinkLibrariesForVS6.rbegin();
+      k != newLinkLibrariesForVS6.rend(); ++k )
    {
    // get the llt from the dep_map
-   this->LinkLibraries.push_back( std::make_pair(k->first,k->second) );
+   this->LinkLibrariesForVS6.push_back( std::make_pair(k->first,k->second) );
    }
- this->LinkLibrariesAnalyzed = true;
+ this->LinkLibrariesForVS6Analyzed = true;
 }
 
 //----------------------------------------------------------------------------
-void cmTarget::InsertDependency( DependencyMap& depMap,
-                                 const LibraryID& lib,
-                                 const LibraryID& dep)
+void cmTarget::InsertDependencyForVS6( DependencyMap& depMap,
+                                       const LibraryID& lib,
+                                       const LibraryID& dep)
 {
   depMap[lib].push_back(dep);
 }
 
 //----------------------------------------------------------------------------
-void cmTarget::DeleteDependency( DependencyMap& depMap,
-                                 const LibraryID& lib,
-                                 const LibraryID& dep)
+void cmTarget::DeleteDependencyForVS6( DependencyMap& depMap,
+                                       const LibraryID& lib,
+                                       const LibraryID& dep)
 {
   // Make sure there is an entry in the map for lib. If so, delete all
   // dependencies to dep. There may be repeated entries because of
@@ -1569,11 +1569,11 @@ void cmTarget::DeleteDependency( DependencyMap& depMap,
 }
 
 //----------------------------------------------------------------------------
-void cmTarget::Emit(const LibraryID lib,
-                    const DependencyMap& dep_map,
-                    std::set<LibraryID>& emitted,
-                    std::set<LibraryID>& visited,
-                    DependencyList& link_line )
+void cmTarget::EmitForVS6(const LibraryID lib,
+                          const DependencyMap& dep_map,
+                          std::set<LibraryID>& emitted,
+                          std::set<LibraryID>& visited,
+                          DependencyList& link_line )
 {
   // It's already been emitted
   if( emitted.find(lib) != emitted.end() )
@@ -1619,7 +1619,7 @@ void cmTarget::Emit(const LibraryID lib,
           if( emitted.find(*i) == emitted.end() )
             {
             // emit dependencies
-            Emit( *i, dep_map, emitted, visited, link_line );
+            this->EmitForVS6( *i, dep_map, emitted, visited, link_line );
             // emit self
             emitted.insert(*i);
             emitted_here.insert(*i);
@@ -1632,9 +1632,9 @@ void cmTarget::Emit(const LibraryID lib,
 }
 
 //----------------------------------------------------------------------------
-void cmTarget::GatherDependencies( const cmMakefile& mf,
-                                   const LibraryID& lib,
-                                   DependencyMap& dep_map)
+void cmTarget::GatherDependenciesForVS6( const cmMakefile& mf,
+                                         const LibraryID& lib,
+                                         DependencyMap& dep_map)
 {
   // If the library is already in the dependency map, then it has
   // already been fully processed.
@@ -1678,8 +1678,8 @@ void cmTarget::GatherDependencies( const cmMakefile& mf,
         else
           {
           LibraryID lib2(l,llt);
-          this->InsertDependency( dep_map, lib, lib2);
-          this->GatherDependencies( mf, lib2, dep_map);
+          this->InsertDependencyForVS6( dep_map, lib, lib2);
+          this->GatherDependenciesForVS6( mf, lib2, dep_map);
           llt = cmTarget::GENERAL;
           }
         }
@@ -1687,7 +1687,7 @@ void cmTarget::GatherDependencies( const cmMakefile& mf,
       end = depline.find( ";", start );
       }
     // cannot depend on itself
-    this->DeleteDependency( dep_map, lib, lib);
+    this->DeleteDependencyForVS6( dep_map, lib, lib);
     }
 }
 
diff --git a/Source/cmTarget.h b/Source/cmTarget.h
index dc67f1e..bd5417a 100644
--- a/Source/cmTarget.h
+++ b/Source/cmTarget.h
@@ -179,8 +179,8 @@ public:
   typedef std::pair<std::string, LinkLibraryType> LibraryID;
 
   typedef std::vector<LibraryID > LinkLibraryVectorType;
-  const LinkLibraryVectorType &GetLinkLibraries() const {
-  return this->LinkLibraries;}
+  const LinkLibraryVectorType &GetLinkLibrariesForVS6() const {
+  return this->LinkLibrariesForVS6;}
   const LinkLibraryVectorType &GetOriginalLinkLibraries() const
     {return this->OriginalLinkLibraries;}
 
@@ -638,16 +638,16 @@ private:
   /**
    * Inserts \a dep at the end of the dependency list of \a lib.
    */
-  void InsertDependency( DependencyMap& depMap,
-                         const LibraryID& lib,
-                         const LibraryID& dep);
+  void InsertDependencyForVS6( DependencyMap& depMap,
+                               const LibraryID& lib,
+                               const LibraryID& dep);
 
   /*
    * Deletes \a dep from the dependency list of \a lib.
    */
-  void DeleteDependency( DependencyMap& depMap,
-                         const LibraryID& lib,
-                         const LibraryID& dep);
+  void DeleteDependencyForVS6( DependencyMap& depMap,
+                               const LibraryID& lib,
+                               const LibraryID& dep);
 
   /**
    * Emits the library \a lib and all its dependencies into link_line.
@@ -657,21 +657,21 @@ private:
    * link_line is in reverse order, in that the dependencies of a
    * library are listed before the library itself.
    */
-  void Emit( const LibraryID lib,
-             const DependencyMap& dep_map,
-             std::set<LibraryID>& emitted,
-             std::set<LibraryID>& visited,
-             DependencyList& link_line);
+  void EmitForVS6( const LibraryID lib,
+                   const DependencyMap& dep_map,
+                   std::set<LibraryID>& emitted,
+                   std::set<LibraryID>& visited,
+                   DependencyList& link_line);
 
   /**
    * Finds the dependencies for \a lib and inserts them into \a
    * dep_map.
    */
-  void GatherDependencies( const cmMakefile& mf,
-                           const LibraryID& lib,
-                           DependencyMap& dep_map);
+  void GatherDependenciesForVS6( const cmMakefile& mf,
+                                 const LibraryID& lib,
+                                 DependencyMap& dep_map);
 
-  void AnalyzeLibDependencies( const cmMakefile& mf );
+  void AnalyzeLibDependenciesForVS6( const cmMakefile& mf );
 
   const char* GetSuffixVariableInternal(bool implib) const;
   const char* GetPrefixVariableInternal(bool implib) const;
@@ -720,9 +720,9 @@ private:
   std::vector<cmCustomCommand> PreLinkCommands;
   std::vector<cmCustomCommand> PostBuildCommands;
   TargetType TargetTypeValue;
-  LinkLibraryVectorType LinkLibraries;
+  LinkLibraryVectorType LinkLibrariesForVS6;
   LinkLibraryVectorType PrevLinkedLibraries;
-  bool LinkLibrariesAnalyzed;
+  bool LinkLibrariesForVS6Analyzed;
   std::vector<std::string> LinkDirectories;
   std::set<std::string> LinkDirectoriesEmmitted;
   bool HaveInstallRule;

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=80cb12bb8bc14eb3e56f344d03254777351e5c74
commit 80cb12bb8bc14eb3e56f344d03254777351e5c74
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Mon Jul 14 14:19:32 2014 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Mon Jul 14 14:29:26 2014 -0400

    export_library_dependencies: Use original link libraries internally
    
    This command was using the cmTarget::GetLinkLibraries method with a
    comment explaining how execution order gives it the dependencies before
    analysis.  Just use cmTarget::GetOriginalLinkLibraries instead.

diff --git a/Source/cmExportLibraryDependenciesCommand.cxx b/Source/cmExportLibraryDependenciesCommand.cxx
index 688d2eb..cb150a7 100644
--- a/Source/cmExportLibraryDependenciesCommand.cxx
+++ b/Source/cmExportLibraryDependenciesCommand.cxx
@@ -108,14 +108,12 @@ void cmExportLibraryDependenciesCommand::ConstFinalPass() const
       std::string targetEntry = target.GetName();
       targetEntry += "_LIB_DEPENDS";
 
-      // Construct the dependency variable value.  It is safe to use
-      // the target GetLinkLibraries method here because this code is
-      // called at the end of configure but before generate so library
-      // dependencies have yet to be analyzed.  Therefore the value
-      // will be the direct link dependencies.
+      // Construct the dependency variable value with the direct link
+      // dependencies.
       std::string valueOld;
       std::string valueNew;
-      cmTarget::LinkLibraryVectorType const& libs = target.GetLinkLibraries();
+      cmTarget::LinkLibraryVectorType const& libs =
+        target.GetOriginalLinkLibraries();
       for(cmTarget::LinkLibraryVectorType::const_iterator li = libs.begin();
           li != libs.end(); ++li)
         {

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

Summary of changes:
 Source/cmExportLibraryDependenciesCommand.cxx |   10 ++-
 Source/cmGlobalGenerator.h                    |    5 ++
 Source/cmGlobalVisualStudio6Generator.h       |    2 +
 Source/cmLocalVisualStudio6Generator.cxx      |    3 +-
 Source/cmTarget.cxx                           |   91 ++++++++++++++-----------
 Source/cmTarget.h                             |   45 ++++++------
 6 files changed, 90 insertions(+), 66 deletions(-)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list