unit-tests: link to external libs only for the tests which require them

This commit is contained in:
Gael Guennebaud 2008-10-26 21:38:30 +00:00
parent ca048aaf77
commit 9f873a855f

View File

@ -1,18 +1,17 @@
if(BUILD_TESTS)
set(EXTERNAL_LIBS "")
find_package(GSL)
if(GSL_FOUND)
add_definitions("-DHAS_GSL")
set(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${GSL_LIBRARIES})
endif(GSL_FOUND)
set(SPARSE_LIBS "")
find_package(Taucs)
if(TAUCS_FOUND)
add_definitions("-DEIGEN_TAUCS_SUPPORT")
include_directories(${TAUCS_INCLUDES})
set(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${TAUCS_LIBRARIES})
set(SPARSE_LIBS ${SPARSE_LIBS} ${TAUCS_LIBRARIES})
else(TAUCS_FOUND)
message("TAUCS not found, this optional backend won't be tested")
endif(TAUCS_FOUND)
@ -21,7 +20,7 @@ find_package(Cholmod)
if(CHOLMOD_FOUND)
add_definitions("-DEIGEN_CHOLMOD_SUPPORT")
include_directories(${CHOLMOD_INCLUDES})
set(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${CHOLMOD_LIBRARIES})
set(SPARSE_LIBS ${SPARSE_LIBS} ${CHOLMOD_LIBRARIES})
else(CHOLMOD_FOUND)
message("CHOLMOD not found, this optional backend won't be tested")
endif(CHOLMOD_FOUND)
@ -30,7 +29,7 @@ find_package(Umfpack)
if(UMFPACK_FOUND)
add_definitions("-DEIGEN_UMFPACK_SUPPORT")
include_directories(${UMFPACK_INCLUDES})
set(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${UMFPACK_LIBRARIES})
set(SPARSE_LIBS ${SPARSE_LIBS} ${UMFPACK_LIBRARIES})
else(UMFPACK_FOUND)
message("UMFPACK not found, this optional backend won't be tested")
endif(UMFPACK_FOUND)
@ -39,7 +38,7 @@ find_package(SuperLU)
if(SUPERLU_FOUND)
add_definitions("-DEIGEN_SUPERLU_SUPPORT")
include_directories(${SUPERLU_INCLUDES})
set(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${SUPERLU_LIBRARIES})
set(SPARSE_LIBS ${SPARSE_LIBS} ${SUPERLU_LIBRARIES})
else(SUPERLU_FOUND)
message("SUPERLU not found, this optional backend won't be tested")
endif(SUPERLU_FOUND)
@ -121,6 +120,9 @@ macro(ei_add_test testname)
endif(TEST_LIB)
target_link_libraries(${targetname} ${EXTERNAL_LIBS})
if(${ARGC} GREATER 2)
target_link_libraries(${targetname} ${ARGV2})
endif(${ARGC} GREATER 2)
if(WIN32)
add_test(${testname} "${targetname}")
@ -156,18 +158,18 @@ ei_add_test(smallvectors)
ei_add_test(map)
ei_add_test(array)
ei_add_test(triangular)
ei_add_test(cholesky)
ei_add_test(cholesky " " ${GSL_LIBRARIES})
ei_add_test(lu ${EI_OFLAG})
ei_add_test(determinant)
ei_add_test(inverse)
ei_add_test(qr)
ei_add_test(eigensolver)
ei_add_test(eigensolver " " ${GSL_LIBRARIES})
ei_add_test(svd)
ei_add_test(geometry)
ei_add_test(hyperplane)
ei_add_test(parametrizedline)
ei_add_test(alignedbox)
ei_add_test(regression)
ei_add_test(sparse )
ei_add_test(sparse " " ${SPARSE_LIBS})
endif(BUILD_TESTS)