FindArmadillo

查找 Armadillo C++ 库

find_package(Armadillo [<version>] [...])

Armadillo 是一个用于线性代数和科学计算的库。

版本 3.18 中添加: 支持直接链接包装后的库(请参阅需要先于包含 <armadillo> 头文件之前定义的 ARMA_DONT_USE_WRAPPER 预处理器宏)。

结果变量

此模块定义了以下变量

Armadillo_FOUND

3.3 版本中新增。

一个布尔值,指示是否找到了(所请求版本的)Armadillo 库。

Armadillo_VERSION

版本 4.2 中添加。

找到的 Armadillo 的版本(例如 14.90.0)。

Armadillo_VERSION_NAME

版本 4.2 中添加。

找到的 Armadillo 的版本名称(例如 Antipodean Antileech)。

ARMADILLO_INCLUDE_DIRS

必需的包含目录列表。

ARMADILLO_LIBRARIES

需要链接的库列表。

已弃用变量

以下变量提供用于向后兼容性

ARMADILLO_FOUND

版本 4.2 已弃用: 请使用 Armadillo_FOUND,其值相同。

一个布尔值,指示是否找到了(所请求版本的)Armadillo 库。

ARMADILLO_VERSION_STRING

版本 4.2 已弃用: 已被 Armadillo_VERSION 取代。

找到的 Armadillo 的版本。

ARMADILLO_VERSION_MAJOR

版本 4.2 已弃用: 已被 Armadillo_VERSION 取代。

主版本号。

ARMADILLO_VERSION_MINOR

版本 4.2 已弃用: 已被 Armadillo_VERSION 取代。

次版本号。

ARMADILLO_VERSION_PATCH

版本 4.2 已弃用: 已被 Armadillo_VERSION 取代。

补丁版本号。

ARMADILLO_VERSION_NAME

版本 4.2 已弃用: 已被 Armadillo_VERSION_NAME 取代。

找到的 Armadillo 的版本名称(例如 Antipodean Antileech)。

示例

查找 Armadillo 并创建导入的目标

find_package(Armadillo REQUIRED)

if(Armadillo_FOUND AND NOT TARGET Armadillo::Armadillo)
  add_library(Armadillo::Armadillo INTERFACE IMPORTED)
  set_target_properties(
    Armadillo::Armadillo
    PROPERTIES
      INTERFACE_LINK_LIBRARIES "${ARMADILLO_LIBRARIES}"
      INTERFACE_INCLUDE_DIRECTORIES "${ARMADILLO_INCLUDE_DIRS}"
  )
endif()

add_executable(foo foo.cc)
target_link_libraries(foo PRIVATE Armadillo::Armadillo)