Skip to content

Files

This branch is up to date with rogerhh/SuiteSparse:dev.

SuiteSparse_config

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Jan 13, 2024
Sep 7, 2022
Jan 3, 2024
Jan 13, 2024
Dec 22, 2023
Dec 29, 2023
Jan 13, 2024
Jan 13, 2024
SuiteSparse_config, Copyright (c) 2012-2024, Timothy A. Davis.
All Rights Reserved.
SPDX-License-Identifier: BSD-3-clause

The version of SuiteSparse_config always matches the version of the SuiteSparse
meta-package.  See the top-level SuiteSparse/ChangeLog for changes to this
package.

--------------------------------------------------------------------------------

SuiteSparse_config contains configuration settings for all many of the software
packages that I develop or co-author.  Note that older versions of some of
these packages do not require SuiteSparse_config.

Files in SuiteSparse_config:

    CMakeLists.txt              for compiling SuiteSparse_config
    Makefile                    simple Makefile to control cmake (optional)
    README.txt                  this file
    SuiteSparse_config.c        SuiteSparse-wide utilities
    SuiteSparse_config.h        SuiteSparse-wide include file
                                (created from Config/SuiteSparse_config.h)

    build/                      where SuiteSparse_config is compiled

    Config/SuiteSparse_config.h.in      source for SuiteSparse_config.h
    Config/README.md.in                 README.md for all of SuiteSparse

    cmake_modules/FindSuiteSparse_config.cmake  how to find SuiteSparse_config
    cmake_modules/SuiteSparseBLAS.cmake         find BLAS for SuiteSparse
    cmake_modules/SuiteSparseBLAS32.cmake       when a 32-bit BLAS is found
    cmake_modules/SuiteSparseBLAS64.cmake       when a 64-bit BLAS is found
    cmake_modules/SuiteSparseLAPACK.cmake       find LAPACK for SuiteSparse
    cmake_modules/SuiteSparsePolicy.cmake       SuiteSparse-wide policies
    cmake_modules/SuiteSparseReport.cmake       SuiteSparse-wide reporting

For packages that use cmake and require SuiteSparse_config, see:

    ../SuiteSparse_config/cmake_modules/FindSuiteSparse_config.cmake

To compile/install SuiteSparse_config on Linux/MacOS, in this directory do:

    make
    sudo make install

To compile all of SuiteSparse for installation only in ../lib
and ../include instead:

    make local

Within each package, to install only in ../lib and ../include,
for example for UMFPACK:

    cd UMFPACK
    make local
    make install

To clean up:

    make clean

See the SuiteSparse/SuiteSparse_config/Makefile for more options.

--------------------------------------------------------------------------------
SuiteSparse packages:
--------------------------------------------------------------------------------

  Package  Description
  -------  -----------
  AMD      approximate minimum degree ordering
  CAMD     constrained AMD
  COLAMD   column approximate minimum degree ordering
  CCOLAMD  constrained approximate minimum degree ordering
  UMFPACK  sparse LU factorization, with the BLAS
  CXSparse int/long/real/complex version of CSparse
  CHOLMOD  sparse Cholesky factorization, update/downdate
  KLU      sparse LU factorization, BLAS-free
  BTF      permutation to block triangular form
  LDL      concise sparse LDL'
  LPDASA   LP Dual Active Set Algorithm
  RBio     read/write files in Rutherford/Boeing format
  SPQR     sparse QR factorization (full name: SuiteSparseQR)
  SPEX     sparse left-looking integer-preserving LU factorization

SuiteSparse_config is not required by these packages:

  CSparse       a Concise Sparse matrix package
  MATLAB_Tools  toolboxes for use in MATLAB
  GraphBLAS     graph algorithms in the language of linear algebra

If you edit this directory then you should do "make purge ; make" in the parent
directory to recompile all of SuiteSparse.  Otherwise, the changes will not
necessarily be applied.