summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2008-02-01 14:57:41 (GMT)
committerBrad King <brad.king@kitware.com>2008-02-01 14:57:41 (GMT)
commitf49ec94e9f4e90a1c65048c1a587469ece5ee05a (patch)
treeb0a63c250f28bad620fd0ce1f7ceb9206b9d992c
parent65761dee552eed39ba2b93d210dbc257f9a2ce50 (diff)
downloadCMake-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.cmake1
-rw-r--r--Modules/Platform/HP-UX.cmake1
-rw-r--r--Modules/Platform/IRIX.cmake4
-rw-r--r--Modules/Platform/IRIX64.cmake3
-rw-r--r--Modules/Platform/SunOS.cmake6
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)
+
+