diff options
author | Brad King <brad.king@kitware.com> | 2013-02-08 18:38:10 (GMT) |
---|---|---|
committer | CMake Topic Stage <kwrobot@kitware.com> | 2013-02-08 18:38:10 (GMT) |
commit | 98cca40d9b714db78e1fa67ed8dd1ef15c6492c2 (patch) | |
tree | 82c1bbb9f4b612749d226b0814fd55c79dead202 | |
parent | bc96f95a162045751ff52db19b0791e9eb818cd8 (diff) | |
parent | 10e8b2da37ff207a7e1a984a5a413c37bf0c8aa4 (diff) | |
download | CMake-98cca40d9b714db78e1fa67ed8dd1ef15c6492c2.zip CMake-98cca40d9b714db78e1fa67ed8dd1ef15c6492c2.tar.gz CMake-98cca40d9b714db78e1fa67ed8dd1ef15c6492c2.tar.bz2 |
Merge topic 'implicit-lib-canonical-path'
10e8b2d Normalize full paths in implicit link library list
-rw-r--r-- | Modules/CMakeParseImplicitLinkInfo.cmake | 6 | ||||
-rw-r--r-- | Tests/CMakeTests/ImplicitLinkInfoTest.cmake.in | 6 |
2 files changed, 12 insertions, 0 deletions
diff --git a/Modules/CMakeParseImplicitLinkInfo.cmake b/Modules/CMakeParseImplicitLinkInfo.cmake index 234fb7f..80e0218 100644 --- a/Modules/CMakeParseImplicitLinkInfo.cmake +++ b/Modules/CMakeParseImplicitLinkInfo.cmake @@ -126,6 +126,12 @@ function(CMAKE_PARSE_IMPLICIT_LINK_INFO text lib_var dir_var fwk_var log_var obj 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 31488c0..e28d102 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 |