blob: 8b4e093ecf95f387b4f1682d9aedada305a7e83d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 58e59be8fb..572478de83 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -520,6 +520,25 @@ endif()
configure_file(${LAPACK_SOURCE_DIR}/CMAKE/lapack-config-build.cmake.in
${LAPACK_BINARY_DIR}/${LAPACKLIB}-config.cmake @ONLY)
+set(FORTRAN_IMPLICIT_LIBS "")
+set(FORTRAN_IMPLICIT_LINK_DIRS "")
+if(NOT BUILD_SHARED_LIBS)
+ set(FORTRAN_IMPLICIT_LIBS ${CMAKE_Fortran_IMPLICIT_LINK_LIBRARIES})
+ set(FORTRAN_IMPLICIT_LINK_DIRS ${CMAKE_Fortran_IMPLICIT_LINK_DIRECTORIES})
+ list(REVERSE FORTRAN_IMPLICIT_LIBS)
+ list(REMOVE_DUPLICATES FORTRAN_IMPLICIT_LIBS)
+ list(REVERSE FORTRAN_IMPLICIT_LIBS)
+ list(REMOVE_ITEM FORTRAN_IMPLICIT_LIBS ${CMAKE_C_IMPLICIT_LINK_LIBRARIES} ${CMAKE_CXX_IMPLICIT_LINK_LIBRARIES})
+ list(REMOVE_ITEM FORTRAN_IMPLICIT_LINK_DIRS ${CMAKE_C_IMPLICIT_LINK_DIRECTORIES} ${CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES})
+ list(JOIN FORTRAN_IMPLICIT_LIBS " -l" FORTRAN_IMPLICIT_LIBS)
+ list(JOIN FORTRAN_IMPLICIT_LINK_DIRS " -L" FORTRAN_IMPLICIT_LINK_DIRS)
+ if(FORTRAN_IMPLICIT_LIBS)
+ set(FORTRAN_IMPLICIT_LIBS "-l${FORTRAN_IMPLICIT_LIBS}")
+ endif()
+ if(FORTRAN_IMPLICIT_LINK_DIRS)
+ set(FORTRAN_IMPLICIT_LINK_DIRS "-L${FORTRAN_IMPLICIT_LINK_DIRS}")
+ endif()
+endif()
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/lapack.pc.in ${CMAKE_CURRENT_BINARY_DIR}/${LAPACKLIB}.pc @ONLY)
install(FILES
diff --git a/lapack.pc.in b/lapack.pc.in
index 316c871011..4d7f3f7b56 100644
--- a/lapack.pc.in
+++ b/lapack.pc.in
@@ -5,5 +5,5 @@ Name: LAPACK
Description: FORTRAN reference implementation of LAPACK Linear Algebra PACKage
Version: @LAPACK_VERSION@
URL: http://www.netlib.org/lapack/
-Libs: -L${libdir} -llapack
+Libs: -L${libdir} -llapack @FORTRAN_IMPLICIT_LINK_DIRS@ @FORTRAN_IMPLICIT_LIBS@
Requires.private: blas
|