1function(find_xxxpack libname libpack libdir is_pack_found reslib) 2 set(pack_found FALSE) 3 if (NOT ${libdir} STREQUAL " ") 4 find_library(pack_lib NAMES ${libpack} PATHS ${libdir} NO_DEFAULT_PATH) 5 if (pack_lib) 6 set(pack_found TRUE) 7 endif() 8 endif() 9 if (NOT pack_found) 10 find_library(pack_lib NAMES ${libpack} PATHS ${libdir} ${LIB_INSTALL_DIR} PATH_SUFFIXES lib Lib) 11 if (pack_lib) 12 set(pack_found TRUE) 13 endif() 14 endif() 15 if (pack_found) 16 if (NOT pack_lib_FIND_QUIETLY) 17 message(STATUS "Found ${libname} : ${pack_lib}") 18 get_filename_component(pack_path ${pack_lib} PATH CACHE) 19 set(pack_include_dir ${pack_path}/../include CACHE FILEPATH ${libname} " include directory.") 20 endif() 21 else() 22 message(STATUS "Could not find ${libname}") 23 endif() 24 set(${is_pack_found} ${pack_found} PARENT_SCOPE) 25 set(${reslib} ${pack_lib} PARENT_SCOPE) 26 unset(pack_lib CACHE) 27 unset(pack_path CACHE) 28endfunction(find_xxxpack) 29 30function(find_arpack libdir arpack_found reslib) 31 find_xxxpack(ARPACK arpack ${libdir} is_found arpack_lib) 32 set(${arpack_found} ${is_found} PARENT_SCOPE) 33 set(${reslib} ${arpack_lib} PARENT_SCOPE) 34endfunction(find_arpack) 35 36function(find_lapack libdir lapack_found reslib) 37 find_xxxpack(LAPACK lapack ${libdir} is_found lapack_lib) 38 set(${lapack_found} ${is_found} PARENT_SCOPE) 39 set(${reslib} ${lapack_lib} PARENT_SCOPE) 40endfunction(find_lapack) 41 42function(find_blas libdir blas_found reslib) 43 find_xxxpack(BLAS blas ${libdir} is_found blas_lib) 44 set(${blas_found} ${is_found} PARENT_SCOPE) 45 set(${reslib} ${blas_lib} PARENT_SCOPE) 46endfunction(find_blas) 47 48function(find_openblas libdir blas_found reslib) 49 find_xxxpack(OPENBLAS openblas ${libdir} is_found blas_lib) 50 set(${blas_found} ${is_found} PARENT_SCOPE) 51 set(${reslib} ${blas_lib} PARENT_SCOPE) 52endfunction(find_openblas) 53