0001-cmake-force-libf2c-to-be-built-as-a-static-library.patch 1.24 KB
From 4fe2f454e454d9e6b1e83b2ea67581990461ed36 Mon Sep 17 00:00:00 2001
From: Samuel Martin <s.martin49@gmail.com>
Date: Sat, 11 Jan 2014 22:05:25 +0100
Subject: [PATCH 1/6] cmake: force libf2c to be built as a static library

As stated in INSTALL/LAPACK_version.c, liblapack requires to be linked
against the static library of libf2c.

Signed-off-by: Samuel Martin <s.martin49@gmail.com>
---
 F2CLIBS/libf2c/CMakeLists.txt | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/F2CLIBS/libf2c/CMakeLists.txt b/F2CLIBS/libf2c/CMakeLists.txt
index 43d7b3f..f98d66a 100644
--- a/F2CLIBS/libf2c/CMakeLists.txt
+++ b/F2CLIBS/libf2c/CMakeLists.txt
@@ -58,5 +58,10 @@ if(WIN32)
 endif()
 include_directories(${CLAPACK_SOURCE_DIR}/F2CLIBS/libf2c)
 include_directories(${CLAPACK_BINARY_DIR}/F2CLIBS/libf2c)
-add_library(f2c ${OFILES} ${CMAKE_CURRENT_BINARY_DIR}/arith.h)
+add_library(f2c STATIC ${OFILES} ${CMAKE_CURRENT_BINARY_DIR}/arith.h)
 set_property(TARGET f2c PROPERTY PREFIX lib)
+# Set fPIC on the library when build shared libraries is enabled, because
+# libf2c.a will most likely be included by some shared libraries in such cases.
+if(UNIX AND BUILD_SHARED_LIBS)
+  set_target_properties(f2c PROPERTIES COMPILE_FLAGS "-fPIC")
+endif()
-- 
1.8.5.3