Find Linear Algebra PACKage (LAPACK) library

This module finds an installed Fortran library that implements the LAPACK linear-algebra interface.

At least one of the C, CXX, or Fortran languages must be enabled.

Input Variables

The following variables may be set to influence this module's behavior:


if ON use static linkage


Set to one of the BLAS/LAPACK Vendors to search for BLAS only from the specified vendor. If not set, all vendors are considered.


if ON tries to find the BLAS95/LAPACK95 interfaces


New in version 3.20.

if set pkg-config will be used to search for a LAPACK library first and if one is found that is preferred

Imported targets

This module defines the following IMPORTED targets:


New in version 3.18.

The libraries to use for LAPACK, if found.

Result Variables

This module defines the following variables:


library implementing the LAPACK interface is found


uncached list of required linker flags (excluding -l and -L).


uncached list of libraries (using full path name) to link against to use LAPACK


uncached list of libraries (using full path name) to link against to use LAPACK95


library implementing the LAPACK95 interface is found

Intel MKL

To use the Intel MKL implementation of LAPACK, a project must enable at least one of the C or CXX languages. Set BLA_VENDOR to an Intel MKL variant either on the command-line as -DBLA_VENDOR=Intel10_64lp or in project code:

set(BLA_VENDOR Intel10_64lp)

In order to build a project using Intel MKL, and end user must first establish an Intel MKL environment. See the FindBLAS module section on Intel MKL for details.