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.
To install Haskell Stack, follow these instructions, users without superuser (admin) permissions should follow the manual installation procedure.
$ git clone https://github.com/fortran-lang/fpm
$ cd fpm/
Bootstrap fpm using:
$ cd bootstrap/
$ stack build
To test:
$ stack test
To install:
$ stack install
On Linux, the above command installs fpm
to ${HOME}/.local/bin/
.
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.gitgnore
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
--args "some arguments"
.
See additional instructions in the Packaging guide or the manifest reference.