[Cmake-commits] CMake branch, next, updated. v3.0.0-rc3-2311-g6ea954f

Brad King brad.king at kitware.com
Mon Apr 14 14:38:37 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  6ea954f218130d9066f33be685f1a06b12794323 (commit)
       via  39d0ade07ee9034b2e0469fc270e0aa55fc34135 (commit)
      from  6f2d03319e4281fac3665d97ee17817733ef64a1 (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=6ea954f218130d9066f33be685f1a06b12794323
commit 6ea954f218130d9066f33be685f1a06b12794323
Merge: 6f2d033 39d0ade
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Mon Apr 14 14:38:36 2014 -0400
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Mon Apr 14 14:38:36 2014 -0400

    Merge topic 'mingw-archive-no-replace' into next
    
    39d0ade0 Windows-GNU: Support duplicate object names in large archives (#14874)


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=39d0ade07ee9034b2e0469fc270e0aa55fc34135
commit 39d0ade07ee9034b2e0469fc270e0aa55fc34135
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Mon Apr 14 13:58:03 2014 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Mon Apr 14 14:35:19 2014 -0400

    Windows-GNU: Support duplicate object names in large archives (#14874)
    
    Since commit v2.6.0~388 (Added build rule variables
    CMAKE_<LANG>_ARCHIVE_..., 2008-01-29) we use separate "ar cr ..." and
    "ar r ..." steps to incrementally add a large list of object files to an
    archive.  Since the "r" command replaces existing objects of the same
    name in an archive, if multiple objects have the same file name and
    appear in separate append steps then one overwrites the other.  Instead,
    use "ar cq ..." and "ar q ..." to always append to the archive.
    
    We already remove the archive before creating it so this will not cause
    objects to be appended to existing archives on incremental rebuilds.

diff --git a/Modules/Platform/Windows-GNU.cmake b/Modules/Platform/Windows-GNU.cmake
index 2bb7a20..9038243 100644
--- a/Modules/Platform/Windows-GNU.cmake
+++ b/Modules/Platform/Windows-GNU.cmake
@@ -67,8 +67,8 @@ macro(__windows_compiler_gnu lang)
 
   if(MSYS OR MINGW)
     # Create archiving rules to support large object file lists for static libraries.
-    set(CMAKE_${lang}_ARCHIVE_CREATE "<CMAKE_AR> cr <TARGET> <LINK_FLAGS> <OBJECTS>")
-    set(CMAKE_${lang}_ARCHIVE_APPEND "<CMAKE_AR> r  <TARGET> <LINK_FLAGS> <OBJECTS>")
+    set(CMAKE_${lang}_ARCHIVE_CREATE "<CMAKE_AR> cq <TARGET> <LINK_FLAGS> <OBJECTS>")
+    set(CMAKE_${lang}_ARCHIVE_APPEND "<CMAKE_AR> q  <TARGET> <LINK_FLAGS> <OBJECTS>")
     set(CMAKE_${lang}_ARCHIVE_FINISH "<CMAKE_RANLIB> <TARGET>")
 
     # Initialize C link type selection flags.  These flags are used when

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

Summary of changes:
 Modules/Platform/Windows-GNU.cmake |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list