add_custom_target(eigen2_buildtests)
add_custom_target(eigen2_check COMMAND "ctest -R eigen2")
add_dependencies(eigen2_check eigen2_buildtests)
add_dependencies(buildtests eigen2_buildtests)

add_definitions("-DEIGEN2_SUPPORT_STAGE10_FULL_EIGEN2_API")

ei_add_test(eigen2_meta)
ei_add_test(eigen2_sizeof)
ei_add_test(eigen2_dynalloc)
ei_add_test(eigen2_nomalloc)
#ei_add_test(eigen2_first_aligned)
ei_add_test(eigen2_mixingtypes)
#ei_add_test(eigen2_packetmath)
ei_add_test(eigen2_unalignedassert)
#ei_add_test(eigen2_vectorization_logic)
ei_add_test(eigen2_basicstuff)
ei_add_test(eigen2_linearstructure)
ei_add_test(eigen2_cwiseop)
ei_add_test(eigen2_sum)
ei_add_test(eigen2_product_small)
ei_add_test(eigen2_product_large ${EI_OFLAG})
ei_add_test(eigen2_adjoint)
ei_add_test(eigen2_submatrices)
ei_add_test(eigen2_miscmatrices)
ei_add_test(eigen2_commainitializer)
ei_add_test(eigen2_smallvectors)
ei_add_test(eigen2_map)
ei_add_test(eigen2_array)
ei_add_test(eigen2_triangular)
ei_add_test(eigen2_cholesky " " "${GSL_LIBRARIES}")
ei_add_test(eigen2_lu ${EI_OFLAG})
ei_add_test(eigen2_determinant ${EI_OFLAG})
ei_add_test(eigen2_inverse)
ei_add_test(eigen2_qr)
ei_add_test(eigen2_eigensolver " " "${GSL_LIBRARIES}")
ei_add_test(eigen2_svd)
ei_add_test(eigen2_geometry)
ei_add_test(eigen2_geometry_with_eigen2_prefix)
ei_add_test(eigen2_hyperplane)
ei_add_test(eigen2_parametrizedline)
ei_add_test(eigen2_alignedbox)
ei_add_test(eigen2_regression)
ei_add_test(eigen2_stdvector)
ei_add_test(eigen2_newstdvector)
if(QT4_FOUND)
  ei_add_test(eigen2_qtvector " " "${QT_QTCORE_LIBRARY}")
endif(QT4_FOUND)
# no support for eigen2 sparse module
# if(NOT EIGEN_DEFAULT_TO_ROW_MAJOR)
#   ei_add_test(eigen2_sparse_vector)
#   ei_add_test(eigen2_sparse_basic)
#   ei_add_test(eigen2_sparse_solvers " " "${SPARSE_LIBS}")
#   ei_add_test(eigen2_sparse_product)
# endif()
ei_add_test(eigen2_swap)
ei_add_test(eigen2_visitor)
ei_add_test(eigen2_bug_132)

ei_add_test(eigen2_prec_inverse_4x4 ${EI_OFLAG})