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