diff options
author | Brad King <brad.king@kitware.com> | 2009-12-02 20:09:03 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2009-12-02 20:09:03 (GMT) |
commit | 58d6057a52e368dca679125b810e52a3e6aacd50 (patch) | |
tree | d9de229a0b8659951139cbd597b42bccd9dee317 /Modules | |
parent | 8c5d8177799cfd1d8a5646dadf28e95b1b85a886 (diff) | |
download | CMake-58d6057a52e368dca679125b810e52a3e6aacd50.zip CMake-58d6057a52e368dca679125b810e52a3e6aacd50.tar.gz CMake-58d6057a52e368dca679125b810e52a3e6aacd50.tar.bz2 |
Fix OS X dylib and module GNU flags
The commit "Split GNU compiler information files" broke the settings of
CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS
CMAKE_SHARED_MODULE_CREATE_${lang}_FLAGS
and started using just "-shared" for them. This worked when tested on newer
Mac machines, but older ones really need "-dynamiclib" and "-bundle" (which are
the documented flags anyway).
Diffstat (limited to 'Modules')
-rw-r--r-- | Modules/Platform/Darwin-GNU-C.cmake | 1 | ||||
-rw-r--r-- | Modules/Platform/Darwin-GNU-CXX.cmake | 1 | ||||
-rw-r--r-- | Modules/Platform/Darwin-GNU-Fortran.cmake | 2 | ||||
-rw-r--r-- | Modules/Platform/Darwin-GNU.cmake | 26 |
4 files changed, 30 insertions, 0 deletions
diff --git a/Modules/Platform/Darwin-GNU-C.cmake b/Modules/Platform/Darwin-GNU-C.cmake index 100e8b1..155d594 100644 --- a/Modules/Platform/Darwin-GNU-C.cmake +++ b/Modules/Platform/Darwin-GNU-C.cmake @@ -1,2 +1,3 @@ include(Platform/Darwin-GNU) +__darwin_compiler_gnu(C) cmake_gnu_has_isysroot(C) diff --git a/Modules/Platform/Darwin-GNU-CXX.cmake b/Modules/Platform/Darwin-GNU-CXX.cmake index a2c2e16..6cc0812 100644 --- a/Modules/Platform/Darwin-GNU-CXX.cmake +++ b/Modules/Platform/Darwin-GNU-CXX.cmake @@ -1,2 +1,3 @@ include(Platform/Darwin-GNU) +__darwin_compiler_gnu(CXX) cmake_gnu_has_isysroot(CXX) diff --git a/Modules/Platform/Darwin-GNU-Fortran.cmake b/Modules/Platform/Darwin-GNU-Fortran.cmake new file mode 100644 index 0000000..8e8acc3 --- /dev/null +++ b/Modules/Platform/Darwin-GNU-Fortran.cmake @@ -0,0 +1,2 @@ +include(Platform/Darwin-GNU) +__darwin_compiler_gnu(Fortran) diff --git a/Modules/Platform/Darwin-GNU.cmake b/Modules/Platform/Darwin-GNU.cmake index 8bbad88..b528c88 100644 --- a/Modules/Platform/Darwin-GNU.cmake +++ b/Modules/Platform/Darwin-GNU.cmake @@ -1,3 +1,29 @@ + +#============================================================================= +# Copyright 2002-2009 Kitware, Inc. +# +# Distributed under the OSI-approved BSD License (the "License"); +# see accompanying file Copyright.txt for details. +# +# This software is distributed WITHOUT ANY WARRANTY; without even the +# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the License for more information. +#============================================================================= +# (To distributed this file outside of CMake, substitute the full +# License text for the above reference.) + +# This module is shared by multiple languages; use include blocker. +if(__DARWIN_COMPILER_GNU) + return() +endif() +set(__DARWIN_COMPILER_GNU 1) + +macro(__darwin_compiler_gnu lang) + # GNU does not have -shared on OS X + set(CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS "-dynamiclib -headerpad_max_install_names") + set(CMAKE_SHARED_MODULE_CREATE_${lang}_FLAGS "-bundle -headerpad_max_install_names") +endmacro() + macro(cmake_gnu_has_isysroot lang) if("x${CMAKE_${lang}_HAS_ISYSROOT}" STREQUAL "x") set(_doc "${lang} compiler has -isysroot") |