[Cmake-commits] CMake branch, next, updated. v2.8.11.2-3182-gf40560e
Clinton Stimpson
clinton at elemtech.com
Wed Jul 17 01:07:12 EDT 2013
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 f40560ebe9ccb54e547f119617cda0d0fbe6c1a2 (commit)
via 90993b9016abf241cd0a4de71e76eb738202c136 (commit)
from f548ef6022d6817041a44d9224b7d24e2f01018c (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=f40560ebe9ccb54e547f119617cda0d0fbe6c1a2
commit f40560ebe9ccb54e547f119617cda0d0fbe6c1a2
Merge: f548ef6 90993b9
Author: Clinton Stimpson <clinton at elemtech.com>
AuthorDate: Wed Jul 17 01:07:08 2013 -0400
Commit: CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Wed Jul 17 01:07:08 2013 -0400
Merge topic 'rpath-on-mac' into next
90993b9 ninja, OS X: fix regression handling frameworks
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=90993b9016abf241cd0a4de71e76eb738202c136
commit 90993b9016abf241cd0a4de71e76eb738202c136
Author: Clinton Stimpson <clinton at elemtech.com>
AuthorDate: Tue Jul 16 23:01:50 2013 -0600
Commit: Clinton Stimpson <clinton at elemtech.com>
CommitDate: Tue Jul 16 23:05:28 2013 -0600
ninja, OS X: fix regression handling frameworks
Since the ninja file isn't aware of how framework symlinks work,
we suppress symlink creation and let cmOSXBundleGenerator handle it.
Also, use the real name of framework library in build rules as was done before,
instead of the symlink.
diff --git a/Source/cmGlobalNinjaGenerator.cxx b/Source/cmGlobalNinjaGenerator.cxx
index 9596ebc..245883c 100644
--- a/Source/cmGlobalNinjaGenerator.cxx
+++ b/Source/cmGlobalNinjaGenerator.cxx
@@ -824,13 +824,19 @@ cmGlobalNinjaGenerator
cmLocalNinjaGenerator *ng =
static_cast<cmLocalNinjaGenerator *>(this->LocalGenerators[0]);
+ // for frameworks, we want the real name, not smple name
+ // frameworks always appear versioned, and the build.ninja
+ // will always attempt to manage symbolic links instead
+ // of letting cmOSXBundleGenerator do it.
+ bool realname = target->IsFrameworkOnApple();
+
switch (target->GetType()) {
case cmTarget::EXECUTABLE:
case cmTarget::SHARED_LIBRARY:
case cmTarget::STATIC_LIBRARY:
case cmTarget::MODULE_LIBRARY:
outputs.push_back(ng->ConvertToNinjaPath(
- target->GetFullPath(configName).c_str()));
+ target->GetFullPath(configName, false, realname).c_str()));
break;
case cmTarget::OBJECT_LIBRARY:
diff --git a/Source/cmNinjaNormalTargetGenerator.cxx b/Source/cmNinjaNormalTargetGenerator.cxx
index fa7e396..57adeba 100644
--- a/Source/cmNinjaNormalTargetGenerator.cxx
+++ b/Source/cmNinjaNormalTargetGenerator.cxx
@@ -265,7 +265,8 @@ cmNinjaNormalTargetGenerator
rspcontent);
}
- if (this->TargetNameOut != this->TargetNameReal) {
+ if (this->TargetNameOut != this->TargetNameReal &&
+ !this->GetTarget()->IsFrameworkOnApple()) {
std::string cmakeCommand =
this->GetLocalGenerator()->ConvertToOutputFormat(
this->GetMakefile()->GetRequiredDefinition("CMAKE_COMMAND"),
@@ -599,7 +600,8 @@ void cmNinjaNormalTargetGenerator::WriteLinkStatement()
rspfile,
commandLineLengthLimit);
- if (targetOutput != targetOutputReal) {
+ if (targetOutput != targetOutputReal &&
+ !this->GetTarget()->IsFrameworkOnApple()) {
if (targetType == cmTarget::EXECUTABLE) {
globalGenerator->WriteBuild(this->GetBuildFileStream(),
"Create executable symlink " + targetOutput,
-----------------------------------------------------------------------
Summary of changes:
Source/cmGlobalNinjaGenerator.cxx | 8 +++++++-
Source/cmNinjaNormalTargetGenerator.cxx | 6 ++++--
2 files changed, 11 insertions(+), 3 deletions(-)
hooks/post-receive
--
CMake
More information about the Cmake-commits
mailing list