CMake no puede encontrar Eigen3
(1)
He copiado FindEigen3.cmake en mi directorio de origen.
Luego agregué:
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR})
a mi CMakeLists.txt para decirle a CMake que use este archivo .cmake.
Entonces en mi CMakeLists.txt hago:
FIND_PACKAGE(Eigen3)
Tengo la variable de entorno EIGEN3_INCLUDE_DIR establecida en / home / doriad / src / eigen
Cuando corro CMake, me sale:
-- Could NOT find Eigen3 (missing: EIGEN3_INCLUDE_DIR EIGEN3_VERSION_OK) (Required is at least version "2.91.0")
Este es un clon nuevo de Mercurial, por lo que la versión debe ser de al menos 3.
¿Alguna sugerencia?
Si configuro la ruta del módulo INCORRECTAMENTE, obtengo algunas pistas:
Adjust CMAKE_MODULE_PATH to find FindEigen3.cmake or set Eigen3_DIR to the
directory containing a CMake configuration file for Eigen3. The file will
have one of the following names:
Eigen3Config.cmake
eigen3-config.cmake
Sin embargo, no encontré ninguno de esos archivos en el directorio de origen ni en el directorio de compilación de Eigen3. Intenté configurar Eigen3_DIR = / home / doriad / src / eigen, pero eso tampoco funcionó.
¿Pensamientos?
Gracias,
David
Me funcionó cuando instalé el paquete eigen3 (por ejemplo, usando -DCMAKE_INSTALL_PREFIX = / home / doriad / install), y también configuré la variable CMAKE_INSTALL_PREFIX del paquete cmake que usa eigen3 en el mismo directorio.
Debido a los problemas con los scripts de búsqueda, en realidad empecé a usar pkg-config . Para eso necesitas habilitar el soporte de pkg-config en eigen3 cmake, y usar la macro pkg-config en tu propio script de cmake. La ventaja es que ya no es necesario establecer ninguna variable de entorno.
find_package( PkgConfig )
pkg_check_modules( EIGEN3 REQUIRED eigen3 )
include_directories( ${EIGEN3_INCLUDE_DIRS} )