diff --git a/Eigen/CMakeLists.txt b/Eigen/CMakeLists.txt index e0eb837a5..321b2978e 100644 --- a/Eigen/CMakeLists.txt +++ b/Eigen/CMakeLists.txt @@ -1,7 +1,12 @@ -set(Eigen_HEADERS Core LU Cholesky QR Geometry Sparse Array SVD LeastSquares QtAlignedMalloc StdVector Householder Jacobi Eigenvalues) +file(GLOB Eigen_directory_files "*") +foreach(f ${Eigen_directory_files}) + if(NOT(f MATCHES ".txt") AND NOT (f MATCHES "src")) + list(APPEND Eigen_directory_files_to_install ${f}) + endif() +endforeach(f ${Eigen_directory_files}) install(FILES - ${Eigen_HEADERS} + ${Eigen_directory_files_to_install} DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen COMPONENT Devel ) diff --git a/Eigen/signature_of_eigen3_matrix_library b/Eigen/signature_of_eigen3_matrix_library new file mode 100644 index 000000000..477732ef4 --- /dev/null +++ b/Eigen/signature_of_eigen3_matrix_library @@ -0,0 +1 @@ +This file is just there as a signature to help identify directories containing Eigen3. When writing for a script looking for Eigen3, just look for this file. This is especially useful to help disambiguate with Eigen2... diff --git a/cmake/FindEigen3.cmake b/cmake/FindEigen3.cmake index 610df8023..1d7dbb43d 100644 --- a/cmake/FindEigen3.cmake +++ b/cmake/FindEigen3.cmake @@ -60,11 +60,11 @@ if (EIGEN3_INCLUDE_DIR) else (EIGEN3_INCLUDE_DIR) - find_path(EIGEN3_INCLUDE_DIR NAMES Eigen/Core + find_path(EIGEN3_INCLUDE_DIR NAMES Eigen/signature_of_eigen3_matrix_library PATHS - ${INCLUDE_INSTALL_DIR} + ${CMAKE_INSTALL_PREFIX}/include ${KDE4_INCLUDE_DIR} - PATH_SUFFIXES eigen3 + PATH_SUFFIXES eigen3 eigen ) if(EIGEN3_INCLUDE_DIR)