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 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 specifc_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.