summaryrefslogtreecommitdiffstats
path: root/Modules/Platform
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2010-06-08 13:23:11 (GMT)
committerBrad King <brad.king@kitware.com>2010-06-08 13:23:11 (GMT)
commit6f9bb934d41912ee0e9beb6a34edecf5667f0fe5 (patch)
treea48de9f56b600a5697a0d80864cc1bd379b6b1c1 /Modules/Platform
parentddf0de132b680e5794406f4d698a0e5262926dd8 (diff)
parent25619a87fc134839fb593a30d775469feeb6a39f (diff)
downloadCMake-6f9bb934d41912ee0e9beb6a34edecf5667f0fe5.zip
CMake-6f9bb934d41912ee0e9beb6a34edecf5667f0fe5.tar.gz
CMake-6f9bb934d41912ee0e9beb6a34edecf5667f0fe5.tar.bz2
Merge branch 'sunCC-5.11-rpath-link'
Diffstat (limited to 'Modules/Platform')
-rw-r--r--Modules/Platform/Linux-SunPro-CXX.cmake9
1 files changed, 8 insertions, 1 deletions
diff --git a/Modules/Platform/Linux-SunPro-CXX.cmake b/Modules/Platform/Linux-SunPro-CXX.cmake
index 5490473..8ee9658 100644
--- a/Modules/Platform/Linux-SunPro-CXX.cmake
+++ b/Modules/Platform/Linux-SunPro-CXX.cmake
@@ -1,2 +1,9 @@
-SET(CMAKE_SHARED_LIBRARY_RPATH_LINK_CXX_FLAG "-rpath-link ")
+# Sun C++ 5.9 does not support -Wl, but Sun C++ 5.11 does not work without it.
+# Query the compiler flags to detect whether to use -Wl.
+execute_process(COMMAND ${CMAKE_CXX_COMPILER} -flags OUTPUT_VARIABLE _cxx_flags ERROR_VARIABLE _cxx_error)
+if("${_cxx_flags}" MATCHES "\n-W[^\n]*component")
+ set(CMAKE_SHARED_LIBRARY_RPATH_LINK_CXX_FLAG "-Wl,-rpath-link,")
+else()
+ set(CMAKE_SHARED_LIBRARY_RPATH_LINK_CXX_FLAG "-rpath-link ")
+endif()
SET(CMAKE_EXE_EXPORTS_CXX_FLAG "--export-dynamic")