FindLAPACK

查找 Linear Algebra PACKage (LAPACK) 库

此模块会找到已安装的 Fortran 库,该库可实现 LAPACK 线性代数接口

需要启用 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 接口的库,则为 true

LAPACK_LINKER_FLAGS

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

LAPACK_LIBRARIES

未缓存的库列表(使用完整路径名),链接到此库即可使用 LAPACK

LAPACK95_LIBRARIES

未缓存的库列表(使用完整路径名),链接到此库即可使用 LAPACK95

LAPACK95_FOUND

如果找到实现 LAPACK95 接口的库,则为 true

英特尔 MKL

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

set(BLA_VENDOR Intel10_64lp)
find_package(LAPACK)

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