Releases: scivision/mumps
improve packaging, shared, static link
v5.4.1.10 ci: shared + static
MUMPS 5.3.5 default, CMake >= 3.19
Due to waiting for updated MUMPS upstream and corner cases with patching existing 5.4 on Windows, fallback to default MUMPS 5.3.5.
Works with CMake >= 3.19. Going to CMake older that that would require substantial effort.
Fixes #20
Patch MUMPS 5.4.1 more effectively
Use add_custom_command() to patch MUMPS 5.4.1 more effectively. For Windows users, the patch tries MSYS2 and then WSL. Use older MUMPS if GNU Patch isn't available on your system like:
cmake -B build "-DMUMPS_UPSTREAM_VERSION=5.3.5"
flatten install dirs, don't override cache var _external, cache MUMPS source
v5.4.1.7 don't override _external cache var
MUMPS_UPSTREAM_VERSION option, shared builds
- shared build option, selected as usual via
cmake -DBUILD_SHARED_LIBS=on
may work better. Static is as usual the default - MUMPS_UPSTREAM_VERSION is selectable from those listed in cmake/libraries.json. Since the download sites are non-HTTPS, we require a SHA256 hash. We have versions from MUMPS 4.8 to 5.4 known to work, at least via casual check.
Improving intsize64
cmake -Dintsize64=yes
works better now--crashes at runtime are reduced. Only setup I know to work is plain GCC. GCC + MKL does not work (runtime segfault). Intel compiler also segfaults with intsize64=yes
General build and test improvements
enhance patch, fix Intel options
- correct Intel compiler option (no spaces)
- enhance "patch" to not error if for some reason header was already patched.
Default build type Release
also increased MUMPS patch timeout, as under heavy parallel build and slow disk, it could timeout during patch
Release build runs faster than debug, so make release default for non multi-config
MUMPS 5.4 default again, patches mumps_io.h
Per MUMPS devs, patch mumps_io.h for MUMPS 5.4.0 and 5.4.1
Fixes #9
CI: add Intel oneAPI
FindScalapack: also look for optional libblacs--many systems have BLACS inside libscalapack, but some have BLACS as separate file.
upstream revert to MUMPS 5.3 due to 5.4 bug for win32
Mumps 5.4 series doesn't work with Windows and Intel/MSVC compiler. As a result, emailed upstream devs and revert this "main" Git CMake branch to 5.3.5 MUMPS for now.
- added ability to switch MUMPS version to known versions in cmake/libraries.json via MUMPS_UPSTREAM_VERSION variable
- added examples to tests and simplified their scripting
- CMake: use modern practices with per-language add_compile_options generator expressions