FindSuiteSparse

Find the SuiteSparse libraries such as UMFPACK and SPQR.

Use this module by invoking find_package with the form:

find_package(SuiteSparse
  [<version>] [EXACT]    # Minimum or EXACT version e.g. 5.1
  [REQUIRED]             # Fail with error if SuiteSparse is not found
  [COMPONENTS <libs>...] # SuiteSparse libraries by their canonical name
                         # e.g. "UMFPACK" or "SPQR"
  [OPTIONAL_COMPONENTS <libs>...]
                         # Optional SuiteSparse libraries by their canonical name
  )                      # e.g. "UMFPACK" or "SPQR"

Components

This module supports the following components:

CHOLMOD

Supernodal Cholesky factorization.

CSparse and CXSparse

A Concise Sparse Matrix package.

GraphBLAS

Graph algorithms and primitives using semiring algebra. (SuiteSparse >= 5.6)

KLU and BTF

Sparse LU factorization, well-suited for circuit simulation.

LDL

A sparse LDL’ factorization and solve package.

Mongoose

A graph partitioning library. (SuiteSparse >= 5.5)

SPQR

Multifrontal QR factorization.

UMFPACK

Multifrontal LU factorization.

And ordering methods: AMD, CAMD, COLAMD, and CCOLAMD.

Imported Targets

This module provides the following imported targets, if found:

SuiteSparse::SuiteSparse

Imported target combining the requested optional and required components.

SuiteSparse::SuiteSparse_config

Imported target for the common SuiteSparse configuration library.

SuiteSparse::<COMPONENT>

Imported target for the found <COMPONENT> library.

Result Variables

This module defines the following variables:

SuiteSparse_FOUND

Boolean result indicating whether all required SuiteSparse components were found.

SuiteSparse_<COMPONENT>_FOUND

Boolean result indicating whether the requested <COMPONENT> was found.

SuiteSparse_FOUND_COMPONENTS

List of SuiteSparse components for which imported targets were created.

Hints

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

SuiteSparse_ROOT

Root directory of the SuiteSparse installation, usually containing include/ and lib/ subdirectories.

SUITESPARSE_INCLUDE_DIR

Include directory containing SuiteSparse_config.h.

SUITESPARSE_CONFIG_LIB

Full path to the suitesparseconfig library.