Fortran Package Manager (fpm)
This is the repository of the Fortran Package Manager (fpm). If you are looking for fpm – packaging made simple instead, see jordansissel/fpm.
Fortran Package Manager is an early prototype. You can use it to build and package your Fortran projects, as well as to include supported Fortran dependency projects. As a prototype, changes to fpm’s behavior and inputs may occur as development continues. Please follow the issues to contribute and/or stay up to date with the development. As the prototype matures and we enter production, we will do our best to stay backwards compatible.
To report a bug report or suggest a feature, please read our contributor guidelines.
x86-64binaries are available to download for Windows, MacOS and Linux.
Note: On Linux and MacOS, you will need to enable executable permission before you can use the binary.
e.g.
$ chmod u+x fpm-v0.1.0-linux-x86_64
Github actions: to setup fpm within Github actions for automated testing, you can use the fortran-lang/setup-fpm action.
For other platforms and architectures have a look at the bootstrapping instructions.
Creating a new fpm project is as simple as running the command
fpm new project_name. This will create a new folder in your current directory with the following contents and initialized as a git repository.
fpm.toml– with your project’s name and some default standard meta-data
README.md– with your project’s name
.gitignore
src/project_name.f90– with a simple hello world subroutine
app/main.f90(if
--with-executableflag used) – a program that calls the subroutine
test/main.f90(if
--with-testflag used) – an empty test program
fpm understands the basic commands:
fpm build– build your library, executables and tests
fpm run– run executables
fpm test– run tests
The command
fpm runcan optionally accept the name of the specific executable to run, as can
fpm test; like
fpm run specific_executable. Command line arguments can also be passed to the executable(s) or test(s) with the option
-- some arguments.
See additional instructions in the Packaging guide or the manifest reference.
This guide explains the process of building fpm on a platform for the first time. If your platform and architecture are already supported, download the binary from the release page instead.
$ git clone https://github.com/fortran-lang/fpm $ cd fpm/
You can use the install script to perform the build of the Haskell version of fpm with:
$ ./install.sh
On Linux, the above command installs
fpmto
${HOME}/.local/bin/.
Now you can build the Fortran fpm version with
$ cd fpm/ $ fpm build
Test that everything is working as expected
$ fpm test
Finally, install the Fortran fpm version with
$ fpm run --runner mv -- ~/.local/bin
Or choose another location if you do not want to overwrite the bootstrapping version. From now on you can rebuild fpm with your Fortran fpm version.