• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# SPQR lib usually requires linking to a blas and lapack library.
2# It is up to the user of this module to find a BLAS and link to it.
3
4# SPQR lib requires Cholmod, colamd and amd as well.
5# FindCholmod.cmake can be used to find those packages before finding spqr
6
7if (SPQR_INCLUDES AND SPQR_LIBRARIES)
8  set(SPQR_FIND_QUIETLY TRUE)
9endif (SPQR_INCLUDES AND SPQR_LIBRARIES)
10
11find_path(SPQR_INCLUDES
12  NAMES
13  SuiteSparseQR.hpp
14  PATHS
15  $ENV{SPQRDIR}
16  ${INCLUDE_INSTALL_DIR}
17  PATH_SUFFIXES
18  suitesparse
19  ufsparse
20)
21
22find_library(SPQR_LIBRARIES spqr $ENV{SPQRDIR} ${LIB_INSTALL_DIR})
23
24if(SPQR_LIBRARIES)
25
26  find_library(SUITESPARSE_LIBRARY SuiteSparse PATHS $ENV{SPQRDIR} ${LIB_INSTALL_DIR})
27  if (SUITESPARSE_LIBRARY)
28    set(SPQR_LIBRARIES ${SPQR_LIBRARIES} ${SUITESPARSE_LIBRARY})
29  endif()
30
31  find_library(CHOLMOD_LIBRARY cholmod PATHS $ENV{UMFPACK_LIBDIR} $ENV{UMFPACKDIR} ${LIB_INSTALL_DIR})
32  if(CHOLMOD_LIBRARY)
33    set(SPQR_LIBRARIES ${SPQR_LIBRARIES} ${CHOLMOD_LIBRARY})
34  endif()
35
36endif(SPQR_LIBRARIES)
37
38include(FindPackageHandleStandardArgs)
39find_package_handle_standard_args(SPQR DEFAULT_MSG SPQR_INCLUDES SPQR_LIBRARIES)
40
41mark_as_advanced(SPQR_INCLUDES SPQR_LIBRARIES)