add a clean configuration summary for the unit tests (useful to analyze the dashboards)

This commit is contained in:
Gael Guennebaud 2009-01-12 13:40:02 +00:00
parent 7f881e814f
commit af5034b3c0

View File

@ -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("************************************************************")