CMake scripts for painless cross-platform usage of SuiteSparse and METIS libraries, including precompiled Windows binaries.
suitesparse-metis-for-windows is a collection of CMake scripts that simplify building and using the SuiteSparse and METIS numerical libraries across Windows, Linux, and macOS. It solves the problem of complex manual compilation, especially on Windows, by providing precompiled binaries and a unified CMake interface. The project enables developers to easily integrate high-performance sparse matrix solvers and graph partitioning tools into their C++ projects.
C++ developers and researchers working on numerical computing, sparse linear algebra, or graph algorithms who need to use SuiteSparse and METIS libraries in cross-platform projects, particularly those targeting Windows environments.
Developers choose this project because it drastically reduces the setup time and complexity of using SuiteSparse and METIS, especially on Windows where manual compilation is notoriously difficult. It provides a consistent CMake-based workflow across all platforms and includes precompiled dependencies to avoid Fortran toolchain issues.
CMake scripts for painless usage of SuiteSparse+METIS from Visual Studio and the rest of Windows/Linux/OSX IDEs supported by CMake
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides a single CMake script that works across Windows, Linux, and macOS, abstracting platform-specific build complexities as emphasized in the README's goal.
Includes BLAS/LAPACK DLLs for Visual C++, eliminating the need for a Fortran compiler and simplifying Windows setup, which is a key feature highlighted.
CMake can automatically download SuiteSparse and METIS sources, reducing manual steps for users, as mentioned in the optional setup instructions.
Offers an option to use OpenBLAS for static library builds, allowing dependency-free executables without Fortran runtimes, detailed in the OpenBLAS section.
Provides CMake config files for easy linking of SuiteSparse components, with example code showing simple integration via find_package and target_link_libraries.
Users must apply patches from SuiteSparse's webpage and manually adjust paths like GKLIB_PATH to prevent build errors, adding complexity and potential for mistakes.
Requires appending library paths to the PATH environment variable for DLLs on Windows, an extra step that can lead to runtime issues if overlooked.
The build generates hundreds of warnings in Visual Studio, and CMake errors like missing LAPACK_DIR or HAVE_COMPLEX issues demand manual intervention, as noted in the instructions.
The project does not automatically handle updates to SuiteSparse or METIS versions; users must manually download and merge new sources, increasing maintenance overhead.