Premiers pas avec fpm

Premiers pas avec fpm

Ce tutoriel concerne l’utilisation basique de la ligne de commandes du gestionnaire de paquets Fortran (fpm). Nous aborderons la création d’un nouveau projet, la compilation d’un projet en un exécutable, ainsi que l’exécution du programme résultant.

Pour commencer un nouveau projet avec fpm, utilisez la commande fpm new

❯ fpm new first_steps

Par défaut, fpm crée un dépôt git avec un projet Hello World dont la structure est :

❯ cd first_steps
❯ tree .
.
├── README.md
├── app
│   └── main.f90
├── fpm.toml
├── src
│   └── first_steps.f90
└── test
    └── check.f90

3 directories, 5 files

C’est tout ce dont nous avons besoin pour démarrer notre nouveau projet. D’abord, inspectons le manifeste du paquet, fpm.toml, qui contient des entrées par défaut :

fpm.toml
name = "first_steps"
version = "0.1.0"
license = "license"
author = "Jane Doe"
maintainer = "jane.doe@example.com"
copyright = "Copyright 2021, Jane Doe"
[build]
auto-executables = true
auto-tests = true
auto-examples = true
[install]
library = false

Le manifeste du paquet contient toutes les méta-données requises pour le nouveau projet. Ensuite, regardons l’exécutable principal, app/main.f90, généré par fpm :

app/main.f90
program main
  use first_steps, only: say_hello
  implicit none

  call say_hello()
end program main

Le programme utilise déjà un module de notre bibliothèque, que nous pouvons trouver dans src/first_steps.f90 :

src/first_steps.f90
module first_steps
  implicit none
  private

  public :: say_hello
contains
  subroutine say_hello
    print *, "Hello, first_steps!"
  end subroutine say_hello
end module first_steps

Nous pouvons lancer l’exécutable directement avec la commande fpm run :

❯ fpm run
...
 Hello, first_steps!

De même, fpm a déjà créé un fichier par défaut pour les tests, qui peut être appelé avec fpm test :

❯ fpm test
...
 Put some tests in here!

Fpm suivra automatiquement les modifications apportées à votre projet lors de l’exécution des commandes run et test.

Résumé

Dans ce tutoriel vous avez appris à

  • créer un nouveau projet à partir de la ligne de commandes fpm

  • construire et exécuter les exécutables de votre projet avec fpm

  • exécuter des tests avec fpm