Multiple sparse linear algebra backends.
1. Added support for CXSparse - SparseNormalCholesky and
SchurComplementSolver support SuiteSparse and CXSparse now.
I am not sure I will add suport for visibility based
preconditioning using CXSparse. Its not a high priority.
2. New enum SparseLinearAlgebraLibraryType which allows the user
to indicate which sparse linear algebra library should be used.
3. Updated tests for SolverImpl and system_test.
4. Build system changes to automatically detect CXSparse and
link to it by default -- just like SuiteSparse.
5. Minor bug fixes dealing in the cmake files and VBP.
6. Changed the order of the system test.
7. Deduped the unsymmetric linear solver test.
Change-Id: I33252a103c87b722ecb7ed7b5f0ae7fd91249244
diff --git a/internal/ceres/CMakeLists.txt b/internal/ceres/CMakeLists.txt
index 2793ee5..1b8b0d0 100644
--- a/internal/ceres/CMakeLists.txt
+++ b/internal/ceres/CMakeLists.txt
@@ -130,6 +130,10 @@
ENDIF (EXISTS ${BLAS_LIB})
ENDIF (SUITESPARSE)
+IF (CXSPARSE)
+ LIST(APPEND CERES_LIBRARY_DEPENDENCIES ${CXSPARSE_LIB})
+ENDIF (CXSPARSE)
+
IF (OPENMP_FOUND)
LIST(APPEND CERES_LIBRARY_DEPENDENCIES gomp)
ENDIF (OPENMP_FOUND)
@@ -191,13 +195,15 @@
CERES_TEST(schur_ordering)
CERES_TEST(solver_impl)
CERES_TEST(symmetric_linear_solver)
- IF (GFLAGS)
- CERES_TEST(system)
- ENDIF (GFLAGS)
CERES_TEST(triplet_sparse_matrix)
CERES_TEST(unsymmetric_linear_solver)
CERES_TEST(visibility)
IF (GFLAGS)
CERES_TEST(visibility_based_preconditioner)
ENDIF (GFLAGS)
+
+ # Large end to end test for the entire solver.
+ IF (GFLAGS)
+ CERES_TEST(system)
+ ENDIF (GFLAGS)
ENDIF (BUILD_TESTING)