Skip to content

cybernetics/fpm-1

 
 

Repository files navigation

Fortran Package Manager

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.

Getting started

Install Haskell

To install Haskell Stack, follow these instructions, users without superuser (admin) permissions should follow the manual installation procedure.

Download this repository

$ git clone https://github.com/fortran-lang/fpm
$ cd fpm/

Build and test 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 project

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
  • .gitgnore
  • src/project_name.f90 – with a simple hello world subroutine
  • app/main.f90 (if --with-executable flag used) – a program that calls the subroutine
  • test/main.f90 (if --with-test flag used) – an empty test program

Building your Fortran project with fpm

fpm understands the basic commands:

  • fpm build – build your library, executables and tests
  • fpm run – run executables
  • fpm 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.

About

Fortran Package Manager (fpm)

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Fortran 81.8%
  • Haskell 14.6%
  • Rust 2.3%
  • Batchfile 0.6%
  • Shell 0.4%
  • Makefile 0.2%
  • C 0.1%