From 693f98c10565d169c1879f6be37339828eb044bc Mon Sep 17 00:00:00 2001 From: Brad King Date: Mon, 7 Jun 2010 10:13:33 -0400 Subject: Fix rpath-link flag for SunPro C++ 5.11 on Linux Commit 82c081ba (Fix rpath-link flag for SunPro C++ on Linux, 2009-07-13) taught CMake to pass '-rpath-link' because SunPro C++ 5.9 does not support '-Wl,'. Now SunPro C++ 5.11 does not recognize the option without using '-Wl,'. Detect whether to use '-Wl,' based on the output of "sunCC -flags". --- Modules/Platform/Linux-SunPro-CXX.cmake | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) 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") -- cgit v0.12 From 25619a87fc134839fb593a30d775469feeb6a39f Mon Sep 17 00:00:00 2001 From: Brad King Date: Tue, 8 Jun 2010 09:22:43 -0400 Subject: ChangeLog: Mention new Sun compiler support --- ChangeLog.manual | 1 + 1 file changed, 1 insertion(+) diff --git a/ChangeLog.manual b/ChangeLog.manual index a2af9e4..bee828a 100644 --- a/ChangeLog.manual +++ b/ChangeLog.manual @@ -46,6 +46,7 @@ Changes since CMake 2.8.1 - Recognize ARM ABI/EABI with GNU compilers - Search basic directories on "Generic" platform - Set MSVC* variables consistently on all generators, and test +- Support SunPro C++ 5.11 on Linux (new compiler) - Support VS 10 Express (related to #10670) - Support compression with 'cmake -E tar' - Support multiple arguments in CC,CXX,FC environment variables -- cgit v0.12