[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