find_package(Adolc) set(SPARSE_LIBS "") find_package(Taucs) if(TAUCS_FOUND) add_definitions("-DEIGEN_TAUCS_SUPPORT") include_directories(${TAUCS_INCLUDES}) set(SPARSE_LIBS ${SPARSE_LIBS} ${TAUCS_LIBRARIES}) ei_add_property(EIGEN_TESTED_BACKENDS "Taucs, ") else(TAUCS_FOUND) ei_add_property(EIGEN_MISSING_BACKENDS "Taucs, ") endif(TAUCS_FOUND) find_package(Cholmod) if(CHOLMOD_FOUND) add_definitions("-DEIGEN_CHOLMOD_SUPPORT") include_directories(${CHOLMOD_INCLUDES}) set(SPARSE_LIBS ${SPARSE_LIBS} ${CHOLMOD_LIBRARIES}) ei_add_property(EIGEN_TESTED_BACKENDS "Cholmod, ") else(CHOLMOD_FOUND) ei_add_property(EIGEN_MISSING_BACKENDS "Cholmod, ") endif(CHOLMOD_FOUND) find_package(Umfpack) if(UMFPACK_FOUND) add_definitions("-DEIGEN_UMFPACK_SUPPORT") include_directories(${UMFPACK_INCLUDES}) set(SPARSE_LIBS ${SPARSE_LIBS} ${UMFPACK_LIBRARIES}) ei_add_property(EIGEN_TESTED_BACKENDS "UmfPack, ") else(UMFPACK_FOUND) ei_add_property(EIGEN_MISSING_BACKENDS "UmfPack, ") endif(UMFPACK_FOUND) find_package(SuperLU) if(SUPERLU_FOUND) add_definitions("-DEIGEN_SUPERLU_SUPPORT") include_directories(${SUPERLU_INCLUDES}) set(SPARSE_LIBS ${SPARSE_LIBS} ${SUPERLU_LIBRARIES}) ei_add_property(EIGEN_TESTED_BACKENDS "SuperLU, ") else(SUPERLU_FOUND) ei_add_property(EIGEN_MISSING_BACKENDS "SuperLU, ") endif(SUPERLU_FOUND) find_package(GoogleHash) if(GOOGLEHASH_FOUND) add_definitions("-DEIGEN_GOOGLEHASH_SUPPORT") include_directories(${GOOGLEHASH_INCLUDES}) ei_add_property(EIGEN_TESTED_BACKENDS "GoogleHash, ") else(GOOGLEHASH_FOUND) ei_add_property(EIGEN_MISSING_BACKENDS "GoogleHash, ") endif(GOOGLEHASH_FOUND) include_directories(../../test ../../unsupported ../../Eigen) if(ADOLC_FOUND) include_directories(${ADOLC_INCLUDES}) ei_add_property(EIGEN_TESTED_BACKENDS "Adolc, ") ei_add_test(forward_adolc " " ${ADOLC_LIBRARIES}) else(ADOLC_FOUND) ei_add_property(EIGEN_MISSING_BACKENDS "Adolc, ") endif(ADOLC_FOUND) ei_add_test(NonLinearOptimization) ei_add_test(NumericalDiff) ei_add_test(autodiff) ei_add_test(BVH) ei_add_test(matrix_exponential) ei_add_test(matrix_function) ei_add_test(alignedvector3) ei_add_test(FFT) find_package(MPFR 2.3.0) if(MPFR_FOUND) include_directories(${MPFR_INCLUDES}) ei_add_property(EIGEN_TESTED_BACKENDS "MPFR C++, ") ei_add_test(mpreal_support " " ${MPFR_LIBRARIES} ) else() ei_add_property(EIGEN_MISSING_BACKENDS "MPFR C++, ") endif() ei_add_test(sparse_llt " " "${SPARSE_LIBS}") ei_add_test(sparse_ldlt " " "${SPARSE_LIBS}") ei_add_test(sparse_lu " " "${SPARSE_LIBS}") ei_add_test(sparse_extra " " " ") find_package(FFTW) if(FFTW_FOUND) ei_add_test(FFTW "-DEIGEN_FFTW_DEFAULT " "-lfftw3 -lfftw3f -lfftw3l" ) endif(FFTW_FOUND) find_package(GSL) if(GSL_FOUND AND GSL_VERSION_MINOR LESS 9) set(GSL_FOUND "") endif(GSL_FOUND AND GSL_VERSION_MINOR LESS 9) if(GSL_FOUND) add_definitions("-DHAS_GSL" ${GSL_DEFINITIONS}) include_directories(${GSL_INCLUDE_DIR}) ei_add_property(EIGEN_TESTED_BACKENDS "GSL, ") else(GSL_FOUND) ei_add_property(EIGEN_MISSING_BACKENDS "GSL, ") set(GSL_LIBRARIES " ") endif(GSL_FOUND) ei_add_test(polynomialutils) ei_add_test(polynomialsolver " " "${GSL_LIBRARIES}" )