diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 723885eb2..bc9a5ca73 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -7,14 +7,17 @@ else(GSL_FOUND) 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 @@ if(CHOLMOD_FOUND) 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 @@ if(UMFPACK_FOUND) 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 @@ if(SUPERLU_FOUND) 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(stdvector) 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("************************************************************")