diff options
author | Robert Maynard <robert.maynard@kitware.com> | 2020-04-23 15:17:48 (GMT) |
---|---|---|
committer | Robert Maynard <robert.maynard@kitware.com> | 2020-04-23 17:59:33 (GMT) |
commit | 85a9813a764f7f451e1bf8422eafc5e5448e959b (patch) | |
tree | 49d8792a069e49af0e97630aea5c92938ca0b7a1 /Modules | |
parent | 5e70315fa89ceb99a6165620c53de25944d47cdf (diff) | |
download | CMake-85a9813a764f7f451e1bf8422eafc5e5448e959b.zip CMake-85a9813a764f7f451e1bf8422eafc5e5448e959b.tar.gz CMake-85a9813a764f7f451e1bf8422eafc5e5448e959b.tar.bz2 |
BLAS: Provide the BLAS::BLAS import target
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}) |