function(find_xxxpack libname libpack libdir is_pack_found reslib) set(pack_found FALSE) if (NOT ${libdir} STREQUAL " ") find_library(pack_lib NAMES ${libpack} PATHS ${libdir} NO_DEFAULT_PATH) if (pack_lib) set(pack_found TRUE) endif() endif() if (NOT pack_found) find_library(pack_lib NAMES ${libpack} PATHS ${libdir} ${LIB_INSTALL_DIR} PATH_SUFFIXES lib Lib) if (pack_lib) set(pack_found TRUE) endif() endif() if (pack_found) if (NOT pack_lib_FIND_QUIETLY) message(STATUS "Found ${libname} : ${pack_lib}") get_filename_component(pack_path ${pack_lib} PATH CACHE) set(pack_include_dir ${pack_path}/../include CACHE FILEPATH ${libname} " include directory.") endif() else() message(STATUS "Could not find ${libname}") endif() set(${is_pack_found} ${pack_found} PARENT_SCOPE) set(${reslib} ${pack_lib} PARENT_SCOPE) unset(pack_lib CACHE) unset(pack_path CACHE) endfunction(find_xxxpack) function(find_arpack libdir arpack_found reslib) find_xxxpack(ARPACK arpack ${libdir} is_found arpack_lib) set(${arpack_found} ${is_found} PARENT_SCOPE) set(${reslib} ${arpack_lib} PARENT_SCOPE) endfunction(find_arpack) function(find_lapack libdir lapack_found reslib) find_xxxpack(LAPACK lapack ${libdir} is_found lapack_lib) set(${lapack_found} ${is_found} PARENT_SCOPE) set(${reslib} ${lapack_lib} PARENT_SCOPE) endfunction(find_lapack) function(find_blas libdir blas_found reslib) find_xxxpack(BLAS blas ${libdir} is_found blas_lib) set(${blas_found} ${is_found} PARENT_SCOPE) set(${reslib} ${blas_lib} PARENT_SCOPE) endfunction(find_blas) function(find_openblas libdir blas_found reslib) find_xxxpack(OPENBLAS openblas ${libdir} is_found blas_lib) set(${blas_found} ${is_found} PARENT_SCOPE) set(${reslib} ${blas_lib} PARENT_SCOPE) endfunction(find_openblas)