[Cmake-commits] CMake branch, next, updated. v2.8.3-780-g2805ecc

Brad King brad.king at kitware.com
Thu Dec 9 10:19:36 EST 2010


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  2805ecc9a2da403f44d3a747cf2aff0db51e57a8 (commit)
       via  608d6bba89a5588c370dda6d6d46365c24168b55 (commit)
      from  3696020f6f6b4d7d4fd7cd4ac2f727174102a9cb (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=2805ecc9a2da403f44d3a747cf2aff0db51e57a8
commit 2805ecc9a2da403f44d3a747cf2aff0db51e57a8
Merge: 3696020 608d6bb
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Thu Dec 9 10:19:33 2010 -0500
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Thu Dec 9 10:19:33 2010 -0500

    Merge topic 'parallel-make-install-of-CMake' into next
    
    608d6bb Fix parallel "make install" of CMake itself


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=608d6bba89a5588c370dda6d6d46365c24168b55
commit 608d6bba89a5588c370dda6d6d46365c24168b55
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Thu Dec 9 10:12:12 2010 -0500
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Thu Dec 9 10:12:12 2010 -0500

    Fix parallel "make install" of CMake itself
    
    Avoid tracing dependencies of GLOBAL_TARGET targets.  The build system
    generators are not designed to handle any dependencies that may be
    discovered.  Global targets are only generated by CMake and never have
    commands that reference targets built in the project anyway.
    
    The exception is when building CMake itself there is a special case to
    use the just-built "cmake" binary in the "install" target so that CMake
    can replace itself on Windows.  Even in this special case we do not want
    to let the "install" target depend on the "cmake" target.  Doing so
    breaks cases like "make -j4 install".

diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx
index ca61b1f..689550a 100644
--- a/Source/cmTarget.cxx
+++ b/Source/cmTarget.cxx
@@ -1450,6 +1450,15 @@ cmTargetTraceDependencies
 //----------------------------------------------------------------------------
 void cmTarget::TraceDependencies(const char* vsProjectFile)
 {
+  // CMake-generated targets have no dependencies to trace.  Normally tracing
+  // would find nothing anyway, but when building CMake itself the "install"
+  // target command ends up referencing the "cmake" target but we do not
+  // really want the dependency because "install" depend on "all" anyway.
+  if(this->GetType() == cmTarget::GLOBAL_TARGET)
+    {
+    return;
+    }
+
   // Use a helper object to trace the dependencies.
   cmTargetTraceDependencies tracer(this, this->Internal.Get(), vsProjectFile);
   tracer.Trace();

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

Summary of changes:
 Source/cmTarget.cxx |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list