[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