Dear Fortran enthusiasts, we are excited to announce the release of fpm v0.12.0!
This release brings a set of major new features focused on interoperability, modern tooling support, and modular build customization — alongside various fixes and improvements across platforms and compilers.
Export
compile_commands.json
for IDE integration
A compile_commands.json
file is now exported by default every time building with fpm
, enabling editor features like:
- clangd support
- VS Code auto-completion and symbol navigation
- Integration with CMake Tools, Language Servers, and more
This brings fpm in line with modern C/C++ workflows and improves IDE integration.
New BLAS/LAPACK and NetCDF metapackages
Two new metapackages make it easier to link with high-performance scientific libraries:
- BLAS/LAPACK: Automatically link to system-provided libraries or optimized builds, also when using
stdlib
. - NetCDF: Use
pkg-config
to locate NetCDF C and Fortran modules, with broad compiler support.
Support for shared and static library targets
Library targets can now specify:
[library]
type = "static"
type = "shared"
type = "monolithic" # default
With the shared
and static
options, one complete library per dependency package is built and installed. This allows for plugin-style builds, dynamic linking, further than just bundling all required objects into a monolithic archive.
Additional improvements
- Windows bootstrapping fixes and Flang OpenMP support
- Optional user-defined compiler/linker flags for introspection
- Support for custom
--config
files - Enhanced metapackage support for Intel MPI and SLURM
srun
- Ongoing internal refactoring for improved maintainability
Download
You can grab the latest version from our GitHub releases:
GitHub Release Page
New Contributor
Please welcome @krystophny, who contributed significant refactoring work and the new NetCDF and BLAS metapackages!
Feedback & Discussion
Thanks to everyone who contributed to this release!
We eagerly await to hear your feedback, experiences, and questions on the new experimental features.