[Cmake-commits] CMake branch, next, updated. v3.0.0-rc5-3203-g8d16ba5

Brad King brad.king at kitware.com
Mon May 19 10:37:58 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  8d16ba51f699de18c977f5ffc6a5690d7fa7c70a (commit)
       via  31b3bbd73ee9c7843305e6289ff73e614ea227fb (commit)
       via  40b9cd0f614fdbc53f9048f18f774a3d06dedf00 (commit)
      from  d908f48b87ea3e28a74e4476eeb4a8e45930c0dd (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=8d16ba51f699de18c977f5ffc6a5690d7fa7c70a
commit 8d16ba51f699de18c977f5ffc6a5690d7fa7c70a
Merge: d908f48 31b3bbd
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Mon May 19 10:37:57 2014 -0400
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Mon May 19 10:37:57 2014 -0400

    Merge topic 'fix-CMP0022-language-propagation' into next
    
    31b3bbd7 Merge branch 'backport-fix-CMP0022-language-propagation' into fix-CMP0022-language-propagation
    40b9cd0f CMP0022: Fix link language propagation in NEW behavior


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=31b3bbd73ee9c7843305e6289ff73e614ea227fb
commit 31b3bbd73ee9c7843305e6289ff73e614ea227fb
Merge: 42bbf13 40b9cd0
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Mon May 19 10:38:44 2014 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Mon May 19 10:38:44 2014 -0400

    Merge branch 'backport-fix-CMP0022-language-propagation' into fix-CMP0022-language-propagation


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=40b9cd0f614fdbc53f9048f18f774a3d06dedf00
commit 40b9cd0f614fdbc53f9048f18f774a3d06dedf00
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Fri May 16 14:19:22 2014 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Mon May 19 09:11:39 2014 -0400

    CMP0022: Fix link language propagation in NEW behavior
    
    The languages used in compiling STATIC libraries need to be propagated
    to dependents regardless of the settings of INTERFACE_LINK_LIBRARIES or
    CMP0022.  They are independent of the libraries in the link interface.
    
    Prior to commit v2.8.12~192^2~2 (Introduce the INTERFACE_LINK_LIBRARIES
    property, 2013-06-04) the cmTarget::ComputeLinkInterface code path for
    "explicitLibraries" could never be taken for STATIC libraries, so the
    logic to propagate languages existed only in the non-explicitLibraries
    code path.  After that commit, INTERFACE_LINK_LIBRARIES could be set for
    STATIC libraries to cause the "explicitLibraries" code path to be taken.
    The commit also left the old non-explicitLibraries code path conditional
    on CMP0022 not being set to NEW.  Thus link language propagation was
    left missing from two cases by that commit.
    
    The explicitLibraries code path was fixed to propagate languages by
    commit v2.8.12~149^2~1 (cmTarget: Fix iface libraries and languages for
    static libraries, 2013-07-26).  However, the non-explicitLibraries case
    was never taught to propagate languages when CMP0022 is set to NEW.  Fix
    that now.  Factor the logic to propagate link languages out of the link
    interface libraries conditions so that it always occurs.  Update
    Tests/Fortran to set CMP0022 to NEW to test this case (because the test
    passes only if link language propagation works).

diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx
index 219560e..63c5908 100644
--- a/Source/cmTarget.cxx
+++ b/Source/cmTarget.cxx
@@ -5515,11 +5515,6 @@ bool cmTarget::ComputeLinkInterface(const char* config, LinkInterface& iface,
               }
             }
           }
-        if(this->LinkLanguagePropagatesToDependents())
-          {
-          // Targets using this archive need its language runtime libraries.
-          iface.Languages = impl->Languages;
-          }
         }
       }
     }
@@ -5536,11 +5531,6 @@ bool cmTarget::ComputeLinkInterface(const char* config, LinkInterface& iface,
     iface.ImplementationIsInterface = true;
     iface.Libraries = impl->Libraries;
     iface.WrongConfigLibraries = impl->WrongConfigLibraries;
-    if(this->LinkLanguagePropagatesToDependents())
-      {
-      // Targets using this archive need its language runtime libraries.
-      iface.Languages = impl->Languages;
-      }
 
     if(this->PolicyStatusCMP0022 == cmPolicies::WARN &&
        !this->Internal->PolicyWarnedCMP0022)
@@ -5607,6 +5597,16 @@ bool cmTarget::ComputeLinkInterface(const char* config, LinkInterface& iface,
       }
     }
 
+  if(this->LinkLanguagePropagatesToDependents())
+    {
+    // Targets using this archive need its language runtime libraries.
+    if(LinkImplementation const* impl =
+       this->GetLinkImplementation(config, headTarget))
+      {
+      iface.Languages = impl->Languages;
+      }
+    }
+
   if(this->GetType() == cmTarget::STATIC_LIBRARY)
     {
     // How many repetitions are needed if this library has cyclic
diff --git a/Tests/Fortran/CMakeLists.txt b/Tests/Fortran/CMakeLists.txt
index adc4308..7918129 100644
--- a/Tests/Fortran/CMakeLists.txt
+++ b/Tests/Fortran/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required (VERSION 2.6)
+cmake_minimum_required (VERSION 3.0)
 project(testf C CXX Fortran)
 if(NOT DEFINED CMAKE_TEST_MAKEPROGRAM AND NOT CMAKE_GENERATOR MATCHES "Visual Studio")
   set(CMAKE_TEST_MAKEPROGRAM "${CMAKE_MAKE_PROGRAM}")

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

Summary of changes:


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list