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