summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGraham Markall <graham@opengamma.com>2013-07-16 13:45:10 +0100
committerBrad King <brad.king@kitware.com>2013-07-16 09:27:50 -0400
commit1af8c8ddae9746663dca9dfbee8ab7a31cbe4fb0 (patch)
tree8555696119ca3738223fc97a61f3d4086d98a3e6
parent2cc9f1fd5cece37efe00dde8a70a632eeb113112 (diff)
downloadcmake-1af8c8ddae9746663dca9dfbee8ab7a31cbe4fb0.tar.gz
OS X: Add Fortran library version flags (#14249)
The linker flags for setting the compatibility and current versions of libraries on Darwin are set for the supported Fortran compilers. Set CMAKE_Fortran_CREATE_SHARED_LIBRARY for the NAG Fortran compiler to have no space after <SONAME_FLAG> so the NAG compiler can parse the argument correctly.
-rw-r--r--Modules/Platform/Darwin-Absoft-Fortran.cmake4
-rw-r--r--Modules/Platform/Darwin-GNU-Fortran.cmake4
-rw-r--r--Modules/Platform/Darwin-Intel-Fortran.cmake15
-rw-r--r--Modules/Platform/Darwin-NAG-Fortran.cmake8
4 files changed, 31 insertions, 0 deletions
diff --git a/Modules/Platform/Darwin-Absoft-Fortran.cmake b/Modules/Platform/Darwin-Absoft-Fortran.cmake
index 47dbd58252..dc62b0dce3 100644
--- a/Modules/Platform/Darwin-Absoft-Fortran.cmake
+++ b/Modules/Platform/Darwin-Absoft-Fortran.cmake
@@ -1,5 +1,6 @@
#=============================================================================
# Copyright 2011 Kitware, Inc.
+# Copyright 2013 OpenGamma Ltd. <graham@opengamma.com>
#
# Distributed under the OSI-approved BSD License (the "License");
# see accompanying file Copyright.txt for details.
@@ -12,3 +13,6 @@
# License text for the above reference.)
set(CMAKE_Fortran_VERBOSE_FLAG "-X -v") # Runs gcc under the hood.
+
+set(CMAKE_Fortran_OSX_COMPATIBILITY_VERSION_FLAG "-compatibility_version ")
+set(CMAKE_Fortran_OSX_CURRENT_VERSION_FLAG "-current_version ")
diff --git a/Modules/Platform/Darwin-GNU-Fortran.cmake b/Modules/Platform/Darwin-GNU-Fortran.cmake
index c5ffc6fd44..f4b509a13e 100644
--- a/Modules/Platform/Darwin-GNU-Fortran.cmake
+++ b/Modules/Platform/Darwin-GNU-Fortran.cmake
@@ -1,5 +1,6 @@
#=============================================================================
# Copyright 2009 Kitware, Inc.
+# Copyright 2013 OpenGamma Ltd. <graham@opengamma.com>
#
# Distributed under the OSI-approved BSD License (the "License");
# see accompanying file Copyright.txt for details.
@@ -13,3 +14,6 @@
include(Platform/Darwin-GNU)
__darwin_compiler_gnu(Fortran)
+
+set(CMAKE_Fortran_OSX_COMPATIBILITY_VERSION_FLAG "-compatibility_version ")
+set(CMAKE_Fortran_OSX_CURRENT_VERSION_FLAG "-current_version ")
diff --git a/Modules/Platform/Darwin-Intel-Fortran.cmake b/Modules/Platform/Darwin-Intel-Fortran.cmake
new file mode 100644
index 0000000000..6bd45f15c6
--- /dev/null
+++ b/Modules/Platform/Darwin-Intel-Fortran.cmake
@@ -0,0 +1,15 @@
+#=============================================================================
+# Copyright 2013 OpenGamma Ltd. <graham@opengamma.com>
+#
+# 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 distribute this file outside of CMake, substitute the full
+# License text for the above reference.)
+
+set(CMAKE_Fortran_OSX_COMPATIBILITY_VERSION_FLAG "-compatibility_version ")
+set(CMAKE_Fortran_OSX_CURRENT_VERSION_FLAG "-current_version ")
diff --git a/Modules/Platform/Darwin-NAG-Fortran.cmake b/Modules/Platform/Darwin-NAG-Fortran.cmake
index 14437f0fc2..4c28e625ca 100644
--- a/Modules/Platform/Darwin-NAG-Fortran.cmake
+++ b/Modules/Platform/Darwin-NAG-Fortran.cmake
@@ -1,5 +1,6 @@
#=============================================================================
# Copyright 2010 Kitware, Inc.
+# Copyright 2013 OpenGamma Ltd. <graham@opengamma.com>
#
# Distributed under the OSI-approved BSD License (the "License");
# see accompanying file Copyright.txt for details.
@@ -16,3 +17,10 @@ set(CMAKE_Fortran_VERBOSE_FLAG "-Wl,-v") # Runs gcc under the hood.
# Need -fpp explicitly on case-insensitive filesystem.
set(CMAKE_Fortran_COMPILE_OBJECT
"<CMAKE_Fortran_COMPILER> -fpp -o <OBJECT> <DEFINES> <FLAGS> -c <SOURCE>")
+
+set(CMAKE_Fortran_OSX_COMPATIBILITY_VERSION_FLAG "-Wl,-compatibility_version -Wl,")
+set(CMAKE_Fortran_OSX_CURRENT_VERSION_FLAG "-Wl,-current_version -Wl,")
+set(CMAKE_SHARED_LIBRARY_CREATE_Fortran_FLAGS "-Wl,-shared")
+set(CMAKE_SHARED_LIBRARY_SONAME_Fortran_FLAG "-Wl,-install_name -Wl,")
+set(CMAKE_Fortran_CREATE_SHARED_LIBRARY
+ "<CMAKE_Fortran_COMPILER> <LANGUAGE_COMPILE_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_Fortran_FLAGS> <LINK_FLAGS> -o <TARGET> <SONAME_FLAG><TARGET_INSTALLNAME_DIR><TARGET_SONAME> <OBJECTS> <LINK_LIBRARIES>")