[Cmake-commits] CMake branch, next, updated. v2.8.10.2-1948-g0c29966

Brad King brad.king at kitware.com
Wed Feb 6 16:24:44 EST 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  0c299664eb183f02272d0ecb86bd54e3794369ea (commit)
       via  10e8b2da37ff207a7e1a984a5a413c37bf0c8aa4 (commit)
      from  2d7bda312b7a9d958e0758e43631b0b90a9616fd (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=0c299664eb183f02272d0ecb86bd54e3794369ea
commit 0c299664eb183f02272d0ecb86bd54e3794369ea
Merge: 2d7bda3 10e8b2d
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Wed Feb 6 16:24:42 2013 -0500
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Wed Feb 6 16:24:42 2013 -0500

    Merge topic 'implicit-lib-canonical-path' into next
    
    10e8b2d Normalize full paths in implicit link library list


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=10e8b2da37ff207a7e1a984a5a413c37bf0c8aa4
commit 10e8b2da37ff207a7e1a984a5a413c37bf0c8aa4
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Wed Feb 6 16:21:11 2013 -0500
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Wed Feb 6 16:22:02 2013 -0500

    Normalize full paths in implicit link library list
    
    Teach CMakeParseImplicitLinkInfo to convert implicit link library full
    paths to a canonical form.  This makes them more reproducible in case
    different language compiler front-ends add the same library by different
    paths e.g. ".../libA.a" and "...//libA.a".
    
    Add a case to the CMake.ImplicitLinkInfo test to cover removal of extra
    slashes from both library and directory paths.

diff --git a/Modules/CMakeParseImplicitLinkInfo.cmake b/Modules/CMakeParseImplicitLinkInfo.cmake
index ecb20dc..8c914b3 100644
--- a/Modules/CMakeParseImplicitLinkInfo.cmake
+++ b/Modules/CMakeParseImplicitLinkInfo.cmake
@@ -103,6 +103,12 @@ function(CMAKE_PARSE_IMPLICIT_LINK_INFO text lib_var dir_var log_var obj_regex)
   foreach(lib IN LISTS implicit_libs_tmp)
     if("${lib}" MATCHES "^(crt.*\\.o|gcc.*|System.*)$")
       set(log "${log}  remove lib [${lib}]\n")
+    elseif(IS_ABSOLUTE "${lib}")
+      get_filename_component(abs "${lib}" ABSOLUTE)
+      if(NOT "x${lib}" STREQUAL "x${abs}")
+        set(log "${log}  collapse lib [${lib}] ==> [${abs}]\n")
+      endif()
+      list(APPEND implicit_libs "${abs}")
     else()
       list(APPEND implicit_libs "${lib}")
     endif()
diff --git a/Tests/CMakeTests/ImplicitLinkInfoTest.cmake.in b/Tests/CMakeTests/ImplicitLinkInfoTest.cmake.in
index dbe9500..3fdc729 100644
--- a/Tests/CMakeTests/ImplicitLinkInfoTest.cmake.in
+++ b/Tests/CMakeTests/ImplicitLinkInfoTest.cmake.in
@@ -99,6 +99,12 @@ set(linux64_test1_libs "${linux64_gcc_libs}")
 set(linux64_test1_dirs "${linux64_gcc_dirs}")
 list(APPEND platforms linux64_test1)
 
+# sunCC dummy.cxx -v # extra slashes
+set(linux64_test2_text "/usr/bin/ld --eh-frame-hdr -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 /opt/sun/sunstudio12/prod/lib/amd64//crti.o /opt/sun/sunstudio12/prod/lib/amd64/crt1x.o /opt/sun/sunstudio12/prod/lib/amd64/values-xa.o dummy.o -Y \"/opt/sun/sunstudio12/prod/lib//amd64:/lib64:/usr//lib64\" -Qy -lc /opt/sun/sunstudio12/prod/lib/amd64//libc_supp.a /opt/sun/sunstudio12/prod/lib/amd64/crtn.o")
+set(linux64_test2_libs "c;/opt/sun/sunstudio12/prod/lib/amd64/libc_supp.a")
+set(linux64_test2_dirs "/opt/sun/sunstudio12/prod/lib/amd64;/lib64;/usr/lib64")
+list(APPEND platforms linux64_test2)
+
 #-----------------------------------------------------------------------------
 # Mac
 

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

Summary of changes:
 Modules/CMakeParseImplicitLinkInfo.cmake       |    6 ++++++
 Tests/CMakeTests/ImplicitLinkInfoTest.cmake.in |    6 ++++++
 2 files changed, 12 insertions(+), 0 deletions(-)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list