Add support for Sparse QR factorization

This commit is contained in:
Desire NUENTSA
2012-11-12 15:20:37 +01:00
parent 474716ec5b
commit 9cf77ce1d8
23 changed files with 6449 additions and 2 deletions

View File

@@ -86,6 +86,19 @@ else()
ei_add_property(EIGEN_MISSING_BACKENDS "PaStiX, ")
endif()
find_package(SPQR)
if(SPQR_FOUND AND BLAS_FOUND AND LAPACK_FOUND)
if(CHOLMOD_FOUND)
add_definitions("-DEIGEN_SPQR_SUPPORT")
include_directories(${SPQR_INCLUDES})
set(SPQR_ALL_LIBS ${SPQR_LIBRARIES} ${CHOLMOD_LIBRARIES} ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES})
set(SPARSE_LIBS ${SPARSE_LIBS} ${SPQR_ALL_LIBS})
ei_add_property(EIGEN_TESTED_BACKENDS "SPQR, ")
else(CHOLMOD_FOUND)
ei_add_property(EIGEN_MISSING_BACKENDS "SPQR, ")
endif(CHOLMOD_FOUND)
endif()
option(EIGEN_TEST_NOQT "Disable Qt support in unit tests" OFF)
if(NOT EIGEN_TEST_NOQT)
find_package(Qt4)
@@ -227,6 +240,10 @@ if(PASTIX_FOUND AND (SCOTCH_FOUND OR METIS_FOUND))
ei_add_test(pastix_support "" "${PASTIX_ALL_LIBS}")
endif()
if(SPQR_FOUND AND CHOLMOD_FOUND)
ei_add_test(spqr_support "" "${SPQR_ALL_LIBS}")
endif()
string(TOLOWER "${CMAKE_CXX_COMPILER}" cmake_cxx_compiler_tolower)
if(cmake_cxx_compiler_tolower MATCHES "qcc")
set(CXX_IS_QCC "ON")