[Cmake-commits] CMake branch, next, updated. v3.0.0-rc5-3192-g4c5a349
Brad King
brad.king at kitware.com
Mon May 19 09:06:48 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 4c5a3493edce6e19ba936372a04a6adb953ab578 (commit)
via 42bbf1307a927e19f1ac937b14301e878370c6b6 (commit)
from 15db64e834f175212e4204928c19b3738e1fad3c (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=4c5a3493edce6e19ba936372a04a6adb953ab578
commit 4c5a3493edce6e19ba936372a04a6adb953ab578
Merge: 15db64e 42bbf13
Author: Brad King <brad.king at kitware.com>
AuthorDate: Mon May 19 09:06:47 2014 -0400
Commit: CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Mon May 19 09:06:47 2014 -0400
Merge topic 'fix-CMP0022-language-propagation' into next
42bbf130 CMP0022: Fix link language propagation in NEW behavior
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=42bbf1307a927e19f1ac937b14301e878370c6b6
commit 42bbf1307a927e19f1ac937b14301e878370c6b6
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:06:20 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 3f2ae9e..a243de5 100644
--- a/Source/cmTarget.cxx
+++ b/Source/cmTarget.cxx
@@ -6481,11 +6481,6 @@ void cmTargetInternals::ComputeLinkInterface(cmTarget const* thisTarget,
}
}
}
- if(thisTarget->LinkLanguagePropagatesToDependents())
- {
- // Targets using this archive need its language runtime libraries.
- iface.Languages = impl->Languages;
- }
}
}
}
@@ -6497,9 +6492,14 @@ void cmTargetInternals::ComputeLinkInterface(cmTarget const* thisTarget,
impl = thisTarget->GetLinkImplementation(config, headTarget);
iface.ImplementationIsInterface = true;
iface.WrongConfigLibraries = impl->WrongConfigLibraries;
- if(thisTarget->LinkLanguagePropagatesToDependents())
+ }
+
+ if(thisTarget->LinkLanguagePropagatesToDependents())
+ {
+ // Targets using this archive need its language runtime libraries.
+ if(cmTarget::LinkImplementation const* impl =
+ thisTarget->GetLinkImplementation(config, headTarget))
{
- // Targets using this archive need its language runtime libraries.
iface.Languages = impl->Languages;
}
}
diff --git a/Tests/Fortran/CMakeLists.txt b/Tests/Fortran/CMakeLists.txt
index bf6d629..ef3b317 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_NESTED_MAKE_PROGRAM AND NOT CMAKE_GENERATOR MATCHES "Visual Studio")
set(CMake_TEST_NESTED_MAKE_PROGRAM "${CMAKE_MAKE_PROGRAM}")
-----------------------------------------------------------------------
Summary of changes:
hooks/post-receive
--
CMake
More information about the Cmake-commits
mailing list