[Cmake-commits] CMake branch, next, updated. v2.8.6-1782-g889965d

Brad King brad.king at kitware.com
Wed Nov 2 09:10:11 EDT 2011


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  889965d92ffa2b71146aebea8a5c090b08533213 (commit)
       via  e74f3744ae25b5be2bf6e4c33a0420d836a2f37d (commit)
       via  d4afce1ddd0a5f8c5bdc5b59d24344d61016aa99 (commit)
      from  3a283b54b062ad4dd67e114229bed64b634b514f (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=889965d92ffa2b71146aebea8a5c090b08533213
commit 889965d92ffa2b71146aebea8a5c090b08533213
Merge: 3a283b5 e74f374
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Wed Nov 2 09:10:10 2011 -0400
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Wed Nov 2 09:10:10 2011 -0400

    Merge topic 'framework-with-space' into next
    
    e74f374 Fix linking to OS X Frameworks named with spaces (#12550)
    d4afce1 KWSys Nightly Date Stamp


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e74f3744ae25b5be2bf6e4c33a0420d836a2f37d
commit e74f3744ae25b5be2bf6e4c33a0420d836a2f37d
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Wed Nov 2 08:58:41 2011 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Wed Nov 2 08:58:41 2011 -0400

    Fix linking to OS X Frameworks named with spaces (#12550)
    
    Teach cmComputeLinkInformation to generate the "-framework" option as a
    separate link item preceding the actual framework name.  Then escape the
    framework name to pass as an argument through a shell.  This fixes the
    link line for frameworks with spaces in the name.
    
    The build system generators that call cli.GetItems() and generate the
    final list of items on the link line already handle escaping correctly
    for items that are paths.  However, for raw link items like "-lfoo" they
    just pass through to the command line verbatim.  This is incorrect.  The
    generators should escape these items too.  Unfortunately we cannot fix
    that without introducing a new CMake Policy because projects may already
    be passing raw link flags with their own escapes to work around this
    bug.  Therefore we punt on this bug for now and go with the above fix.

diff --git a/Source/cmComputeLinkInformation.cxx b/Source/cmComputeLinkInformation.cxx
index c87b64d..f8ab686 100644
--- a/Source/cmComputeLinkInformation.cxx
+++ b/Source/cmComputeLinkInformation.cxx
@@ -1318,8 +1318,9 @@ void cmComputeLinkInformation::AddFrameworkItem(std::string const& item)
   this->AddFrameworkPath(this->SplitFramework.match(1));
 
   // Add the item using the -framework option.
-  std::string fw = "-framework ";
-  fw += this->SplitFramework.match(2);
+  this->Items.push_back(Item("-framework", false));
+  std::string fw = this->SplitFramework.match(2);
+  fw = this->LocalGenerator->EscapeForShell(fw.c_str());
   this->Items.push_back(Item(fw, false));
 }
 

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

Summary of changes:
 Source/cmComputeLinkInformation.cxx |    5 +++--
 Source/kwsys/kwsysDateStamp.cmake   |    2 +-
 2 files changed, 4 insertions(+), 3 deletions(-)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list