diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index 723885e..bc9a5ca 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -7,14 +7,17 @@
 endif(GSL_FOUND)
 
 set(SPARSE_LIBS "")
+set(EIGEN_TESTED_BACKENDS "")
+set(EIGEN_MISSING_BACKENDS "")
 
 find_package(Taucs)
 if(TAUCS_FOUND)
   add_definitions("-DEIGEN_TAUCS_SUPPORT")
   include_directories(${TAUCS_INCLUDES})
   set(SPARSE_LIBS ${SPARSE_LIBS} ${TAUCS_LIBRARIES})
+  set(EIGEN_TESTED_BACKENDS ${EIGEN_TESTED_BACKENDS} Taucs)
 else(TAUCS_FOUND)
-  message("TAUCS not found, this optional backend won't be tested")
+  set(EIGEN_MISSING_BACKENDS ${EIGEN_MISSING_BACKENDS} Taucs)
 endif(TAUCS_FOUND)
 
 find_package(Cholmod)
@@ -22,8 +25,9 @@
   add_definitions("-DEIGEN_CHOLMOD_SUPPORT")
   include_directories(${CHOLMOD_INCLUDES})
   set(SPARSE_LIBS ${SPARSE_LIBS} ${CHOLMOD_LIBRARIES})
+  set(EIGEN_TESTED_BACKENDS ${EIGEN_TESTED_BACKENDS} Cholmod)
 else(CHOLMOD_FOUND)
-  message("CHOLMOD not found, this optional backend won't be tested")
+  set(EIGEN_MISSING_BACKENDS ${EIGEN_MISSING_BACKENDS} Cholmod)
 endif(CHOLMOD_FOUND)
 
 option(EIGEN_TEST_NO_FORTRAN "Disable Fortran" OFF)
@@ -36,8 +40,9 @@
   add_definitions("-DEIGEN_UMFPACK_SUPPORT")
   include_directories(${UMFPACK_INCLUDES})
   set(SPARSE_LIBS ${SPARSE_LIBS} ${UMFPACK_LIBRARIES})
+  set(EIGEN_TESTED_BACKENDS ${EIGEN_TESTED_BACKENDS} UmfPack)
 else(UMFPACK_FOUND)
-  message("UMFPACK not found, this optional backend won't be tested")
+  set(EIGEN_MISSING_BACKENDS ${EIGEN_MISSING_BACKENDS} UmfPack)
 endif(UMFPACK_FOUND)
 
 find_package(SuperLU)
@@ -45,16 +50,18 @@
   add_definitions("-DEIGEN_SUPERLU_SUPPORT")
   include_directories(${SUPERLU_INCLUDES})
   set(SPARSE_LIBS ${SPARSE_LIBS} ${SUPERLU_LIBRARIES})
+  set(EIGEN_TESTED_BACKENDS ${EIGEN_TESTED_BACKENDS} SuperLU)
 else(SUPERLU_FOUND)
-  message("SUPERLU not found, this optional backend won't be tested")
+  set(EIGEN_MISSING_BACKENDS ${EIGEN_MISSING_BACKENDS} SuperLU)
 endif(SUPERLU_FOUND)
 
 find_package(GoogleHash)
 if(GOOGLEHASH_FOUND)
   add_definitions("-DEIGEN_GOOGLEHASH_SUPPORT")
   include_directories(${GOOGLEHASH_INCLUDES})
+  set(EIGEN_TESTED_BACKENDS ${EIGEN_TESTED_BACKENDS} GoogleHash)
 else(GOOGLEHASH_FOUND)
-  message("Google's hash library not found, those map implementations won't be tested")
+  set(EIGEN_MISSING_BACKENDS ${EIGEN_MISSING_BACKENDS} GoogleHash)
 endif(GOOGLEHASH_FOUND)
 
 if(CMAKE_COMPILER_IS_GNUCXX)
@@ -191,3 +198,56 @@
 ei_add_test(sparse_basic)
 ei_add_test(sparse_vector)
 ei_add_test(sparse_solvers " " "${SPARSE_LIBS}")
+
+# print a summary of the different options
+message("************************************************************")
+message("***    Eigen's unit tests configuration summary          ***")
+message("************************************************************")
+if(GSL_FOUND)
+  message("Comparison with GSL:   ON")
+else(GSL_FOUND)
+  message("Comparison with GSL:   OFF")
+endif(GSL_FOUND)
+
+  message("Enabled backends:      ${EIGEN_TESTED_BACKENDS}")
+  message("Disabled backends:     ${EIGEN_MISSING_BACKENDS}")
+
+if(EIGEN_TEST_SSE2)
+  message("SSE2:              ON")
+else(EIGEN_TEST_SSE2)
+  message("SSE2:              AUTO")
+endif(EIGEN_TEST_SSE2)
+
+if(EIGEN_TEST_SSE3)
+  message("SSE3:              ON")
+else(EIGEN_TEST_SSE3)
+  message("SSE3:              AUTO")
+endif(EIGEN_TEST_SSE3)
+
+if(EIGEN_TEST_SSSE3)
+  message("SSSE3:             ON")
+else(EIGEN_TEST_SSSE3)
+  message("SSSE3:             AUTO")
+endif(EIGEN_TEST_SSSE3)
+
+if(EIGEN_TEST_ALTIVEC)
+  message("Altivec:           ON")
+else(EIGEN_TEST_ALTIVEC)
+  message("Altivec:           AUTO")
+endif(EIGEN_TEST_ALTIVEC)
+
+if(EIGEN_TEST_NO_EXPLICIT_VECTORIZATION)
+  message("Explicit vec:      OFF")
+else(EIGEN_TEST_NO_EXPLICIT_VECTORIZATION)
+  message("Explicit vec:      AUTO")
+endif(EIGEN_TEST_NO_EXPLICIT_VECTORIZATION)
+
+  message("CXX:               ${CMAKE_CXX_COMPILER}")
+if(CMAKE_COMPILER_IS_GNUCXX)
+  execute_process(COMMAND ${CMAKE_CXX_COMPILER} --version COMMAND head -n 1 OUTPUT_VARIABLE EIGEN_CXX_VERSION_STRING OUTPUT_STRIP_TRAILING_WHITESPACE)
+  message("CXX_VERSION:       ${EIGEN_CXX_VERSION_STRING}")
+endif(CMAKE_COMPILER_IS_GNUCXX)
+  message("CXX_FLAGS:         ${CMAKE_CXX_FLAGS}")
+  message("Sparse lib flags:  ${SPARSE_LIBS}")
+
+message("************************************************************")
