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-64
binaries 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-dataREADME.md
– with your project’s name.gitignore
src/project_name.f90
– with a simple hello world subroutineapp/main.f90
(if--with-executable
flag used) – a program that calls the subroutinetest/main.f90
(if--with-test
flag used) – an empty test program
fpm understands the basic commands:
fpm build
– build your library, executables and testsfpm run
– run executablesfpm test
– run tests
The command fpm run
can 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 bootstrap and install fpm:
$ ./install.sh
By default, the above command installs fpm
to ${HOME}/.local/bin/
.
To specify an alternative destination use the --prefix=
flag, for example:
$ ./install.sh --prefix=/usr/local
which will install fpm to /usr/local/bin
.
To test that everything is working as expected you can now build fpm with itself and run the tests with:
$ cd fpm
$ fpm test