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