Spec-Zone.ru › Eigen3

Использование Eigen в проектах CMake

Eigen предоставляет поддержку CMake, которая позволяет легко использовать библиотеку в проектах CMake.

Примечание
Для включения этой функциональности требуется CMake 3.0 (или более поздняя версия).

Eigen экспортирует целевой элемент CMake, называемый Eigen3::Eigen, который можно импортировать с помощью команды CMake find_package и использовать, вызывая target_link_libraries, как показано в следующем примере:

cmake_minimum_required (VERSION 3.0)
project (myproject)
 
find_package (Eigen3 3.3 REQUIRED NO_MODULE)
 
add_executable (example example.cpp)
target_link_libraries (example Eigen3::Eigen)

Приведённый фрагмент кода должен быть размещён в файле с именем CMakeLists.txt наряду с example.cpp. После выполнения

$ cmake path-to-example-directory

CMake сгенерирует файлы проекта, которые создадут исполняемый файл с именем example, который требует как минимум версии 3.3 Eigen. Здесь path-to-example-directory — путь к каталогу, содержащему как CMakeLists.txt, так и example.cpp.

Не забудьте установить переменную CMAKE_PREFIX_PATH , если Eigen не установлен в стандартном месте или если вы хотите выбрать определённую версию. Например:

$ cmake path-to-example-directory -DCMAKE_PREFIX_PATH=$HOME/mypackages

Альтернативой является установка переменной Eigen3_DIR CMake до соответствующего пути, содержащего файлы Eigen3*.cmake. Например:

$ cmake path-to-example-directory -DEigen3_DIR=$HOME/mypackages/share/eigen3/cmake/

Если опция REQUIRED опущена при поиске Eigen с помощью find_package, можно проверить, был ли пакет найден следующим образом:

find_package (Eigen3 3.3 NO_MODULE)
 
if (TARGET Eigen3::Eigen)
  # Use the imported target
endif (TARGET Eigen3::Eigen)

© Eigen.
Licensed under the MPL2 License.
https://eigen.tuxfamily.org/dox/TopicCMakeGuide.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API