summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2006-09-15 18:58:30 (GMT)
committerBrad King <brad.king@kitware.com>2006-09-15 18:58:30 (GMT)
commit3079a67133095f8a4119815bb040e8534616e8dd (patch)
tree651df9f5a5447361959d35b75aef62bfee619724
parent07ec25e383920899c6c506be8f706da2d6db26eb (diff)
downloadCMake-3079a67133095f8a4119815bb040e8534616e8dd.zip
CMake-3079a67133095f8a4119815bb040e8534616e8dd.tar.gz
CMake-3079a67133095f8a4119815bb040e8534616e8dd.tar.bz2
ENH: Enabling link type selection flags for this platform. See bug#1644 for details.
-rw-r--r--Modules/Platform/FreeBSD.cmake10
-rw-r--r--Modules/Platform/HP-UX.cmake9
2 files changed, 19 insertions, 0 deletions
diff --git a/Modules/Platform/FreeBSD.cmake b/Modules/Platform/FreeBSD.cmake
index 7ce5345..3970acf 100644
--- a/Modules/Platform/FreeBSD.cmake
+++ b/Modules/Platform/FreeBSD.cmake
@@ -8,4 +8,14 @@ IF(EXISTS /usr/include/dlfcn.h)
SET(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-Wl,-soname,")
SET(CMAKE_SHARED_LIBRARY_SONAME_CXX_FLAG "-Wl,-soname,")
ENDIF(EXISTS /usr/include/dlfcn.h)
+
+# Initialize C link type selection flags. These flags are used when
+# building a shared library, shared module, or executable that links
+# to other libraries to select whether to use the static or shared
+# versions of the libraries.
+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)
+
INCLUDE(Platform/UnixPaths)
diff --git a/Modules/Platform/HP-UX.cmake b/Modules/Platform/HP-UX.cmake
index 0bc3c3e..62359c6 100644
--- a/Modules/Platform/HP-UX.cmake
+++ b/Modules/Platform/HP-UX.cmake
@@ -85,3 +85,12 @@ IF(NOT CMAKE_COMPILER_IS_GNUCXX)
"rm -f `basename \"<SOURCE>\" | sed 's/\\.[^./]*$$//'`.o"
)
ENDIF(NOT CMAKE_COMPILER_IS_GNUCXX)
+
+# Initialize C link type selection flags. These flags are used when
+# building a shared library, shared module, or executable that links
+# to other libraries to select whether to use the static or shared
+# versions of the libraries.
+FOREACH(type SHARED_LIBRARY SHARED_MODULE EXE)
+ SET(CMAKE_${type}_LINK_STATIC_C_FLAGS "-Wl,-a,archive")
+ SET(CMAKE_${type}_LINK_DYNAMIC_C_FLAGS "-Wl,-a,default")
+ENDFOREACH(type)