next attempt ... introduce EIGEN_CMAKE_RUN_FROM_CTEST, in that case don't EXCLUDE_FROM_ALL
diff --git a/CMakeLists.txt b/CMakeLists.txt
index c3b63bc..36b2be9 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -124,7 +124,11 @@
 
 include(CTest)
 enable_testing() # must be called from the root CMakeLists, see man page
-add_subdirectory(test EXCLUDE_FROM_ALL) # can't do EXCLUDE_FROM_ALL here, breaks CTest
+if(EIGEN_CMAKE_RUN_FROM_CTEST)
+add_subdirectory(test) # can't do EXCLUDE_FROM_ALL here, breaks CTest
+else(EIGEN_CMAKE_RUN_FROM_CTEST)
+add_subdirectory(test EXCLUDE_FROM_ALL)
+endif(EIGEN_CMAKE_RUN_FROM_CTEST)
 
 add_subdirectory(unsupported)
 
diff --git a/test/testsuite.cmake b/test/testsuite.cmake
index 37ee875..c6cc073 100644
--- a/test/testsuite.cmake
+++ b/test/testsuite.cmake
@@ -148,7 +148,7 @@
 # which ctest command to use for running the dashboard
 SET (CTEST_COMMAND "${EIGEN_CMAKE_DIR}ctest -D ${EIGEN_MODE}")
 # what cmake command to use for configuring this dashboard
-SET (CTEST_CMAKE_COMMAND "${EIGEN_CMAKE_DIR}cmake -DEIGEN_BUILD_TESTS=on ")
+SET (CTEST_CMAKE_COMMAND "${EIGEN_CMAKE_DIR}cmake -DEIGEN_CMAKE_RUN_FROM_CTEST=on -DEIGEN_BUILD_TESTS=on ")
 
 ####################################################################
 # The values in this section are optional you can either