fix bug #92 - we were doing stupid things when passing the list of libraries to link to.

This commit is contained in:
Benoit Jacob 2010-10-28 10:44:20 -04:00
parent 868f753d10
commit bd249d1121
3 changed files with 22 additions and 19 deletions

View File

@ -37,13 +37,16 @@ macro(ei_add_test_internal testname testname_with_suffix)
endif()
if(${ARGC} GREATER 3)
foreach(lib_to_link ${ARGV3})
string(STRIP "${lib_to_link}" lib_to_link_stripped)
string(LENGTH "${lib_to_link_stripped}" lib_to_link_stripped_length)
if(${lib_to_link_stripped_length} GREATER 0)
target_link_libraries(${targetname} "${lib_to_link}")
endif()
endforeach()
set(libs_to_link ${ARGV3})
# it could be that some cmake module provides a bad library string " " (just spaces),
# and that severely breaks target_link_libraries ("can't link to -l-lstdc++" errors).
# so we check for strings containing only spaces.
string(STRIP "${libs_to_link}" libs_to_link_stripped)
string(LENGTH "${libs_to_link_stripped}" libs_to_link_stripped_length)
if(${libs_to_link_stripped_length} GREATER 0)
# notice: no double quotes around ${libs_to_link} here. It may be a list.
target_link_libraries(${targetname} ${libs_to_link})
endif()
endif()
if(WIN32)

View File

@ -13,7 +13,7 @@ if(GSL_FOUND)
ei_add_property(EIGEN_TESTED_BACKENDS "GSL, ")
else(GSL_FOUND)
ei_add_property(EIGEN_MISSING_BACKENDS "GSL, ")
set(GSL_LIBRARIES " ")
set(GSL_LIBRARIES "")
endif(GSL_FOUND)
@ -76,7 +76,7 @@ ei_add_test(product_trsolve)
ei_add_test(product_notemporary)
ei_add_test(stable_norm)
ei_add_test(bandmatrix)
ei_add_test(cholesky " " "${GSL_LIBRARIES}")
ei_add_test(cholesky "" "${GSL_LIBRARIES}")
ei_add_test(lu)
ei_add_test(determinant)
ei_add_test(inverse)
@ -87,8 +87,8 @@ ei_add_test(upperbidiagonalization)
ei_add_test(hessenberg)
ei_add_test(schur_real)
ei_add_test(schur_complex)
ei_add_test(eigensolver_selfadjoint " " "${GSL_LIBRARIES}")
ei_add_test(eigensolver_generic " " "${GSL_LIBRARIES}")
ei_add_test(eigensolver_selfadjoint "" "${GSL_LIBRARIES}")
ei_add_test(eigensolver_generic "" "${GSL_LIBRARIES}")
ei_add_test(eigensolver_complex)
ei_add_test(jacobi)
ei_add_test(jacobisvd)
@ -106,12 +106,12 @@ ei_add_test(stdlist)
ei_add_test(stddeque)
ei_add_test(resize)
if(QT4_FOUND)
ei_add_test(qtvector " " "${QT_QTCORE_LIBRARY}")
ei_add_test(qtvector "" "${QT_QTCORE_LIBRARY}")
endif(QT4_FOUND)
ei_add_test(sparse_vector)
ei_add_test(sparse_basic)
ei_add_test(sparse_product)
ei_add_test(sparse_solvers " " "${SPARSE_LIBS}")
ei_add_test(sparse_solvers "" "${SPARSE_LIBS}")
ei_add_test(umeyama)
ei_add_test(householder)
ei_add_test(swap)

View File

@ -46,7 +46,7 @@ find_package(Adolc)
if(ADOLC_FOUND)
include_directories(${ADOLC_INCLUDES})
ei_add_property(EIGEN_TESTED_BACKENDS "Adolc, ")
ei_add_test(forward_adolc " " ${ADOLC_LIBRARIES})
ei_add_test(forward_adolc "" ${ADOLC_LIBRARIES})
else(ADOLC_FOUND)
ei_add_property(EIGEN_MISSING_BACKENDS "Adolc, ")
endif(ADOLC_FOUND)
@ -69,15 +69,15 @@ if(MPFR_FOUND)
include_directories(${MPFR_INCLUDES})
ei_add_property(EIGEN_TESTED_BACKENDS "MPFR C++, ")
set(EIGEN_MPFR_TEST_LIBRARIES ${MPFR_LIBRARIES} ${GMP_LIBRARIES})
ei_add_test(mpreal_support " " "${EIGEN_MPFR_TEST_LIBRARIES}" )
ei_add_test(mpreal_support "" "${EIGEN_MPFR_TEST_LIBRARIES}" )
else()
ei_add_property(EIGEN_MISSING_BACKENDS "MPFR C++, ")
endif()
ei_add_test(sparse_llt " " "${SPARSE_LIBS}")
ei_add_test(sparse_ldlt " " "${SPARSE_LIBS}")
ei_add_test(sparse_lu " " "${SPARSE_LIBS}")
ei_add_test(sparse_extra " " " ")
ei_add_test(sparse_llt "" "${SPARSE_LIBS}")
ei_add_test(sparse_ldlt "" "${SPARSE_LIBS}")
ei_add_test(sparse_lu "" "${SPARSE_LIBS}")
ei_add_test(sparse_extra "" "")
find_package(FFTW)
if(FFTW_FOUND)