FindLAPACK

查找线性代数软件包 (LAPACK) 库

此模块查找实现了 LAPACK 线性代数接口 的已安装 Fortran 库。

必须启用 CCXXFortran 语言中的至少一种。

输入变量

可以设置以下变量来影响此模块的行为

BLA_STATIC

如果 ON,则使用静态链接

BLA_VENDOR

设置为 BLAS/LAPACK 供应商 之一,以仅从指定的供应商搜索 BLAS。如果未设置,则考虑所有供应商。

BLA_F95

如果 ON,则尝试查找 BLAS95/LAPACK95 接口

BLA_PREFER_PKGCONFIG

版本 3.20 中新增。

如果设置,将首先使用 pkg-config 搜索 LAPACK 库,如果找到,则优先使用

BLA_PKGCONFIG_LAPACK

版本 3.25 中新增。

如果设置,pkg-config 方法将查找此模块名称,而不是仅查找 lapack

BLA_SIZEOF_INTEGER

版本 3.22 中新增。

指定 BLAS/LAPACK 库整数大小

4

搜索具有 32 位整数接口的 BLAS/LAPACK。

8

搜索具有 64 位整数接口的 BLAS/LAPACK。

ANY

搜索任何 BLAS/LAPACK。最有可能找到具有 32 位整数接口的 BLAS/LAPACK。

导入目标

此模块定义以下 IMPORTED 目标

LAPACK::LAPACK

版本 3.18 中新增。

如果找到 LAPACK,则使用的库。

结果变量

此模块定义以下变量

LAPACK_FOUND

找到了实现 LAPACK 接口的库

LAPACK_LINKER_FLAGS

所需的链接器标志的未缓存列表(不包括 -l-L)。

LAPACK_LIBRARIES

用于链接以使用 LAPACK 的库(使用完整路径名)的未缓存列表

LAPACK95_LIBRARIES

用于链接以使用 LAPACK95 的库(使用完整路径名)的未缓存列表

LAPACK95_FOUND

找到了实现 LAPACK95 接口的库

Intel MKL

要使用 LAPACK 的 Intel MKL 实现,项目必须启用 CCXX 语言中的至少一种。将 BLA_VENDOR 设置为 Intel MKL 变体,可以在命令行中设置,如 -DBLA_VENDOR=Intel10_64lp,也可以在项目代码中设置

set(BLA_VENDOR Intel10_64lp)
find_package(LAPACK)

为了构建使用 Intel MKL 的项目,最终用户必须首先建立 Intel MKL 环境。有关详细信息,请参阅 FindBLAS 模块中关于 Intel MKL 的部分。