1 2set_property(GLOBAL PROPERTY EIGEN_CURRENT_SUBPROJECT "Unsupported") 3add_custom_target(BuildUnsupported) 4 5include_directories(../../test ../../unsupported ../../Eigen 6 ${CMAKE_CURRENT_BINARY_DIR}/../../test) 7 8find_package(GoogleHash) 9if(GOOGLEHASH_FOUND) 10 add_definitions("-DEIGEN_GOOGLEHASH_SUPPORT") 11 include_directories(${GOOGLEHASH_INCLUDES}) 12 ei_add_property(EIGEN_TESTED_BACKENDS "GoogleHash, ") 13else(GOOGLEHASH_FOUND) 14 ei_add_property(EIGEN_MISSING_BACKENDS "GoogleHash, ") 15endif(GOOGLEHASH_FOUND) 16 17find_package(Adolc) 18if(ADOLC_FOUND) 19 include_directories(${ADOLC_INCLUDES}) 20 ei_add_property(EIGEN_TESTED_BACKENDS "Adolc, ") 21 ei_add_test(forward_adolc "" ${ADOLC_LIBRARIES}) 22else(ADOLC_FOUND) 23 ei_add_property(EIGEN_MISSING_BACKENDS "Adolc, ") 24endif(ADOLC_FOUND) 25 26# this test seems to never have been successful on x87, so is considered to contain a FP-related bug. 27# see thread: "non-linear optimization test summary" 28ei_add_test(NonLinearOptimization) 29 30ei_add_test(NumericalDiff) 31ei_add_test(autodiff) 32 33if (NOT CMAKE_CXX_COMPILER MATCHES "clang\\+\\+$") 34ei_add_test(BVH) 35endif() 36 37ei_add_test(matrix_exponential) 38ei_add_test(matrix_function) 39ei_add_test(matrix_power) 40ei_add_test(matrix_square_root) 41ei_add_test(alignedvector3) 42ei_add_test(FFT) 43 44find_package(MPFR 2.3.0) 45find_package(GMP) 46if(MPFR_FOUND) 47 include_directories(${MPFR_INCLUDES} ./mpreal) 48 ei_add_property(EIGEN_TESTED_BACKENDS "MPFR C++, ") 49 set(EIGEN_MPFR_TEST_LIBRARIES ${MPFR_LIBRARIES} ${GMP_LIBRARIES}) 50 ei_add_test(mpreal_support "" "${EIGEN_MPFR_TEST_LIBRARIES}" ) 51else() 52 ei_add_property(EIGEN_MISSING_BACKENDS "MPFR C++, ") 53endif() 54 55ei_add_test(sparse_extra "" "") 56 57find_package(FFTW) 58if(FFTW_FOUND) 59 ei_add_property(EIGEN_TESTED_BACKENDS "fftw, ") 60 include_directories( ${FFTW_INCLUDES} ) 61 if(FFTWL_LIB) 62 ei_add_test(FFTW "-DEIGEN_FFTW_DEFAULT -DEIGEN_HAS_FFTWL" "${FFTW_LIBRARIES}" ) 63 else() 64 ei_add_test(FFTW "-DEIGEN_FFTW_DEFAULT" "${FFTW_LIBRARIES}" ) 65 endif() 66else() 67 ei_add_property(EIGEN_MISSING_BACKENDS "fftw, ") 68endif() 69 70option(EIGEN_TEST_NO_OPENGL "Disable OpenGL support in unit tests" OFF) 71if(NOT EIGEN_TEST_NO_OPENGL) 72 find_package(OpenGL) 73 find_package(GLUT) 74 find_package(GLEW) 75 if(OPENGL_FOUND AND GLUT_FOUND AND GLEW_FOUND) 76 ei_add_property(EIGEN_TESTED_BACKENDS "OpenGL, ") 77 set(EIGEN_GL_LIB ${GLUT_LIBRARIES} ${GLEW_LIBRARIES}) 78 ei_add_test(openglsupport "" "${EIGEN_GL_LIB}" ) 79 else() 80 ei_add_property(EIGEN_MISSING_BACKENDS "OpenGL, ") 81 endif() 82else() 83 ei_add_property(EIGEN_MISSING_BACKENDS "OpenGL, ") 84endif() 85 86ei_add_test(polynomialsolver) 87ei_add_test(polynomialutils) 88ei_add_test(kronecker_product) 89ei_add_test(splines) 90ei_add_test(gmres) 91ei_add_test(minres) 92ei_add_test(levenberg_marquardt) 93ei_add_test(bdcsvd) 94