Мне нужно добавить Eigen в один из наших проектов. Поскольку Eigen предназначен только для заголовков, мы решили поместить его непосредственно в каталог с исходным кодом, чтобы отслеживать его с помощью Git и убедиться, что все готово, как только вы клонируете репозиторий. Поэтому мы скачали Eigen с здесь и поместили его в каталог EIGEN
внутри каталога нашего проекта.
Мы используем cmake
в этом проекте. Я могу включить Eigen, используя следующий код:
find_package(Eigen3 REQUIRED)
if (Eigen3_FOUND)
message("Eigen found")
message(" Eigen location: ${Eigen3_DIR}")
message(" Eigen Version: ${Eigen3_VERSION}")
target_link_libraries (ourProject Eigen3::Eigen)
endif ()
Однако этот код находит другую версию Eigen, расположенную в /usr/local/share/eigen3/cmake
.
Я хочу использовать версию Eigen, расположенную в каталоге с исходным кодом. Поэтому я попытался использовать параметр HINTS
:
find_package(Eigen3 REQUIRED HINTS ./EIGEN)
, но он не работает. Моя главная проблема заключается в том, что я не знаю, какой путь мне нужно написать в HINTS. Каталог EIGEN содержит несколько других папок. Я попробовал некоторые из них, но безуспешно:
find_package(Eigen3 REQUIRED HINTS ./EIGEN/Eigen)
find_package(Eigen3 REQUIRED HINTS ./EIGEN/Eigen/src)
find_package(Eigen3 REQUIRED HINTS ./EIGEN/cmake)...
Как правильно убедиться, что cmake использует ту версию Eigen, которую я хочу?