mirror of
https://github.com/Kitware/CMake.git
synced 2026-05-07 06:40:16 -05:00
Find{BLAS,LAPACK}: Simplify search for static libraries
Now that `CHECK_{BLAS,LAPACK}_LIBRARIES` are functions, we can set
`CMAKE_FIND_LIBRARY_SUFFIXES` locally without affecting the global
state. This avoids the need for local state switching that was added in
commit 9ef82d95d8 (FindBLAS: Fix detection of OpenMP as dependency of
BLA_STATIC, 2021-04-07, v3.20.1~3^2), so remove that.
This commit is contained in:
+13
-19
@@ -189,20 +189,6 @@ if(BLA_PREFER_PKGCONFIG)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set(_blas_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES})
|
||||
if(BLA_STATIC)
|
||||
if(WIN32)
|
||||
set(CMAKE_FIND_LIBRARY_SUFFIXES .lib ${CMAKE_FIND_LIBRARY_SUFFIXES})
|
||||
else()
|
||||
set(CMAKE_FIND_LIBRARY_SUFFIXES .a ${CMAKE_FIND_LIBRARY_SUFFIXES})
|
||||
endif()
|
||||
else()
|
||||
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||
# for ubuntu's libblas3gf and liblapack3gf packages
|
||||
set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES} .so.3gf)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# TODO: move this stuff to a separate module
|
||||
|
||||
function(CHECK_BLAS_LIBRARIES LIBRARIES _prefix _name _flags _list _deps _addlibdir _subdirs)
|
||||
@@ -217,6 +203,19 @@ function(CHECK_BLAS_LIBRARIES LIBRARIES _prefix _name _flags _list _deps _addlib
|
||||
set(_libraries)
|
||||
set(_combined_name)
|
||||
|
||||
if(BLA_STATIC)
|
||||
if(WIN32)
|
||||
set(CMAKE_FIND_LIBRARY_SUFFIXES .lib ${CMAKE_FIND_LIBRARY_SUFFIXES})
|
||||
else()
|
||||
set(CMAKE_FIND_LIBRARY_SUFFIXES .a ${CMAKE_FIND_LIBRARY_SUFFIXES})
|
||||
endif()
|
||||
else()
|
||||
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||
# for ubuntu's libblas3gf and liblapack3gf packages
|
||||
set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES} .so.3gf)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set(_extaddlibdir "${_addlibdir}")
|
||||
if(WIN32)
|
||||
list(APPEND _extaddlibdir ENV LIB)
|
||||
@@ -626,8 +625,6 @@ if(BLA_VENDOR STREQUAL "OpenBLAS" OR BLA_VENDOR STREQUAL "All")
|
||||
endif()
|
||||
set(_threadlibs "${CMAKE_THREAD_LIBS_INIT}")
|
||||
if(BLA_STATIC)
|
||||
set(_blas_STATIC_CMAKE_FIND_LIBRARY_SUFFIXES "${CMAKE_FIND_LIBRARY_SUFFIXES}")
|
||||
set(CMAKE_FIND_LIBRARY_SUFFIXES "${_blas_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES}")
|
||||
if (CMAKE_C_COMPILER_LOADED)
|
||||
find_package(OpenMP COMPONENTS C)
|
||||
list(PREPEND _threadlibs "${OpenMP_C_LIBRARIES}")
|
||||
@@ -635,8 +632,6 @@ if(BLA_VENDOR STREQUAL "OpenBLAS" OR BLA_VENDOR STREQUAL "All")
|
||||
find_package(OpenMP COMPONENTS CXX)
|
||||
list(PREPEND _threadlibs "${OpenMP_CXX_LIBRARIES}")
|
||||
endif()
|
||||
set(CMAKE_FIND_LIBRARY_SUFFIXES "${_blas_STATIC_CMAKE_FIND_LIBRARY_SUFFIXES}")
|
||||
unset(_blas_STATIC_CMAKE_FIND_LIBRARY_SUFFIXES)
|
||||
endif()
|
||||
check_blas_libraries(
|
||||
BLAS_LIBRARIES
|
||||
@@ -1084,4 +1079,3 @@ if(NOT BLA_F95)
|
||||
endif()
|
||||
|
||||
_add_blas_target()
|
||||
set(CMAKE_FIND_LIBRARY_SUFFIXES ${_blas_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES})
|
||||
|
||||
+13
-25
@@ -162,27 +162,6 @@ function(_add_lapack_target)
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
macro(_lapack_find_library_setup)
|
||||
set(_lapack_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES})
|
||||
if(BLA_STATIC)
|
||||
if(WIN32)
|
||||
set(CMAKE_FIND_LIBRARY_SUFFIXES .lib ${CMAKE_FIND_LIBRARY_SUFFIXES})
|
||||
else()
|
||||
set(CMAKE_FIND_LIBRARY_SUFFIXES .a ${CMAKE_FIND_LIBRARY_SUFFIXES})
|
||||
endif()
|
||||
else()
|
||||
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||
# for ubuntu's libblas3gf and liblapack3gf packages
|
||||
set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES} .so.3gf)
|
||||
endif()
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
macro(_lapack_find_library_teardown)
|
||||
set(CMAKE_FIND_LIBRARY_SUFFIXES ${_lapack_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES})
|
||||
unset(_lapack_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES)
|
||||
endmacro()
|
||||
|
||||
# TODO: move this stuff to a separate module
|
||||
|
||||
function(CHECK_LAPACK_LIBRARIES LIBRARIES _prefix _name _flags _list _deps _addlibdir _subdirs _blas)
|
||||
@@ -197,6 +176,19 @@ function(CHECK_LAPACK_LIBRARIES LIBRARIES _prefix _name _flags _list _deps _addl
|
||||
set(_libraries)
|
||||
set(_combined_name)
|
||||
|
||||
if(BLA_STATIC)
|
||||
if(WIN32)
|
||||
set(CMAKE_FIND_LIBRARY_SUFFIXES .lib ${CMAKE_FIND_LIBRARY_SUFFIXES})
|
||||
else()
|
||||
set(CMAKE_FIND_LIBRARY_SUFFIXES .a ${CMAKE_FIND_LIBRARY_SUFFIXES})
|
||||
endif()
|
||||
else()
|
||||
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||
# for ubuntu's libblas3gf and liblapack3gf packages
|
||||
set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES} .so.3gf)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set(_extaddlibdir "${_addlibdir}")
|
||||
if(WIN32)
|
||||
list(APPEND _extaddlibdir ENV LIB)
|
||||
@@ -281,8 +273,6 @@ macro(_lapack_find_dependency dep)
|
||||
set(_lapack_quiet_arg)
|
||||
endmacro()
|
||||
|
||||
_lapack_find_library_setup()
|
||||
|
||||
set(LAPACK_LINKER_FLAGS)
|
||||
set(LAPACK_LIBRARIES)
|
||||
set(LAPACK95_LIBRARIES)
|
||||
@@ -667,5 +657,3 @@ if(LAPACK_LIBRARIES STREQUAL "LAPACK_LIBRARIES-PLACEHOLDER-FOR-EMPTY-LIBRARIES")
|
||||
endif()
|
||||
|
||||
_add_lapack_target()
|
||||
|
||||
_lapack_find_library_teardown()
|
||||
|
||||
Reference in New Issue
Block a user