diff options
author | Brad King <brad.king@kitware.com> | 2020-04-27 14:39:20 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2020-04-27 14:39:30 (GMT) |
commit | 0ae7232334870ef555f35e9ce2a5e21bcc74b13f (patch) | |
tree | 71ac8a8cb18c0abd0fbac36d765cbe30b2916fe1 /Modules | |
parent | c77353e11cbfcb2534a0b635f6cb20ac3dd28bb7 (diff) | |
parent | 85a9813a764f7f451e1bf8422eafc5e5448e959b (diff) | |
download | CMake-0ae7232334870ef555f35e9ce2a5e21bcc74b13f.zip CMake-0ae7232334870ef555f35e9ce2a5e21bcc74b13f.tar.gz CMake-0ae7232334870ef555f35e9ce2a5e21bcc74b13f.tar.bz2 |
Merge topic 'FindBLAS-target'
85a9813a76 BLAS: Provide the BLAS::BLAS import target
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4657
Diffstat (limited to 'Modules')
-rw-r--r-- | Modules/FindBLAS.cmake | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/Modules/FindBLAS.cmake b/Modules/FindBLAS.cmake index caed7ef..4c569b3 100644 --- a/Modules/FindBLAS.cmake +++ b/Modules/FindBLAS.cmake @@ -61,6 +61,15 @@ The following variables may be set to influence this module's behavior: if set ``pkg-config`` will be used to search for a BLAS library first and if one is found that is preferred +Imported targets +^^^^^^^^^^^^^^^^ + +This module defines the following :prop_tgt:`IMPORTED` target: + +``BLAS::BLAS`` + The libraries to use for BLAS, if found. + + Result Variables ^^^^^^^^^^^^^^^^ @@ -111,6 +120,17 @@ if(NOT (CMAKE_C_COMPILER_LOADED OR CMAKE_CXX_COMPILER_LOADED OR CMAKE_Fortran_CO endif() endif() +function(_add_blas_target) + if(NOT TARGET BLAS::BLAS) + add_library(BLAS::BLAS INTERFACE IMPORTED) + if(BLAS_LIBRARIES) + set_target_properties(BLAS::BLAS PROPERTIES + INTERFACE_LINK_LIBRARIES "${BLAS_LIBRARIES}" + ) + endif() + endif() +endfunction() + if(CMAKE_Fortran_COMPILER_LOADED) include(${CMAKE_CURRENT_LIST_DIR}/CheckFortranFunctionExists.cmake) else() @@ -127,6 +147,7 @@ if(BLA_PREFER_PKGCONFIG) if(PKGC_BLAS_FOUND) set(BLAS_FOUND ${PKGC_BLAS_FOUND}) set(BLAS_LIBRARIES "${PKGC_BLAS_LINK_LIBRARIES}") + _add_blas_target() return() endif() endif() @@ -926,11 +947,13 @@ if(NOT BLA_F95) find_package_handle_standard_args(BLAS REQUIRED_VARS BLAS_LIBRARIES) endif() + # On compilers that implicitly link BLAS (such as ftn, cc, and CC on Cray HPC machines) # we used a placeholder for empty BLAS_LIBRARIES to get through our logic above. if(BLAS_LIBRARIES STREQUAL "BLAS_LIBRARIES-PLACEHOLDER-FOR-EMPTY-LIBRARIES") set(BLAS_LIBRARIES "") endif() +_add_blas_target() cmake_pop_check_state() set(CMAKE_FIND_LIBRARY_SUFFIXES ${_blas_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES}) |