diff options
author | Brad King <brad.king@kitware.com> | 2008-02-01 14:57:41 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2008-02-01 14:57:41 (GMT) |
commit | f49ec94e9f4e90a1c65048c1a587469ece5ee05a (patch) | |
tree | b0a63c250f28bad620fd0ce1f7ceb9206b9d992c | |
parent | 65761dee552eed39ba2b93d210dbc257f9a2ce50 (diff) | |
download | CMake-f49ec94e9f4e90a1c65048c1a587469ece5ee05a.zip CMake-f49ec94e9f4e90a1c65048c1a587469ece5ee05a.tar.gz CMake-f49ec94e9f4e90a1c65048c1a587469ece5ee05a.tar.bz2 |
ENH: Enable dependent library search paths on more platforms
- HP-UX needs dependent library paths as -L options.
- IRIX needs dependent library paths as -L options.
- Sun needs dependent library paths as -L options.
- FreeBSD needs dependent library paths in -rpath-link option.
-rw-r--r-- | Modules/Platform/FreeBSD.cmake | 1 | ||||
-rw-r--r-- | Modules/Platform/HP-UX.cmake | 1 | ||||
-rw-r--r-- | Modules/Platform/IRIX.cmake | 4 | ||||
-rw-r--r-- | Modules/Platform/IRIX64.cmake | 3 | ||||
-rw-r--r-- | Modules/Platform/SunOS.cmake | 6 |
5 files changed, 15 insertions, 0 deletions
diff --git a/Modules/Platform/FreeBSD.cmake b/Modules/Platform/FreeBSD.cmake index fcfa121..299847b 100644 --- a/Modules/Platform/FreeBSD.cmake +++ b/Modules/Platform/FreeBSD.cmake @@ -5,6 +5,7 @@ IF(EXISTS /usr/include/dlfcn.h) SET(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "") # +s, flag for exe link to use shared lib SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-Wl,-rpath,") # -rpath SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP ":") # : or empty + SET(CMAKE_SHARED_LIBRARY_RPATH_LINK_C_FLAG "-Wl,-rpath-link,") SET(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-Wl,-soname,") SET(CMAKE_SHARED_LIBRARY_SONAME_CXX_FLAG "-Wl,-soname,") SET(CMAKE_EXE_EXPORTS_C_FLAG "-Wl,--export-dynamic") diff --git a/Modules/Platform/HP-UX.cmake b/Modules/Platform/HP-UX.cmake index 19e13f0..8f0fce8 100644 --- a/Modules/Platform/HP-UX.cmake +++ b/Modules/Platform/HP-UX.cmake @@ -6,6 +6,7 @@ SET(CMAKE_FIND_LIBRARY_SUFFIXES ".sl" ".so" ".a") # in the -L path. Therefore the runtime path must be added to the # link line with -L flags. SET(CMAKE_SHARED_LIBRARY_LINK_C_WITH_RUNTIME_PATH 1) +SET(CMAKE_LINK_DEPENDENT_LIBRARY_DIRS 1) # fortran IF(CMAKE_COMPILER_IS_GNUG77) diff --git a/Modules/Platform/IRIX.cmake b/Modules/Platform/IRIX.cmake index b782475..58c1037 100644 --- a/Modules/Platform/IRIX.cmake +++ b/Modules/Platform/IRIX.cmake @@ -40,3 +40,7 @@ FOREACH(type SHARED_LIBRARY SHARED_MODULE EXE) SET(CMAKE_${type}_LINK_STATIC_C_FLAGS "-Wl,-Bstatic") SET(CMAKE_${type}_LINK_DYNAMIC_C_FLAGS "-Wl,-Bdynamic") ENDFOREACH(type) + +# The IRIX linker needs to find transitive shared library dependencies +# in the -L path. +SET(CMAKE_LINK_DEPENDENT_LIBRARY_DIRS 1) diff --git a/Modules/Platform/IRIX64.cmake b/Modules/Platform/IRIX64.cmake index 5df3e06..982619a 100644 --- a/Modules/Platform/IRIX64.cmake +++ b/Modules/Platform/IRIX64.cmake @@ -70,3 +70,6 @@ FOREACH(type SHARED_LIBRARY SHARED_MODULE EXE) SET(CMAKE_${type}_LINK_DYNAMIC_C_FLAGS "-Wl,-Bdynamic") ENDFOREACH(type) +# The IRIX linker needs to find transitive shared library dependencies +# in the -L path. +SET(CMAKE_LINK_DEPENDENT_LIBRARY_DIRS 1) diff --git a/Modules/Platform/SunOS.cmake b/Modules/Platform/SunOS.cmake index 85e3d38..f6c9d2e 100644 --- a/Modules/Platform/SunOS.cmake +++ b/Modules/Platform/SunOS.cmake @@ -98,3 +98,9 @@ ELSE(CMAKE_COMPILER_IS_GNUCXX) SET(CMAKE_${type}_LINK_DYNAMIC_CXX_FLAGS "-Bdynamic") ENDFOREACH(type) ENDIF(CMAKE_COMPILER_IS_GNUCXX) + +# The Sun linker needs to find transitive shared library dependencies +# in the -L path. +SET(CMAKE_LINK_DEPENDENT_LIBRARY_DIRS 1) + + |