fpm_manifest_package Module

Define the package data containing the meta data from the configuration file.

The package data defines a Fortran type corresponding to the respective TOML document, after creating it from a package file no more interaction with the TOML document is required.

Every configuration type provides it custom constructor (prefixed with new_) and knows how to deserialize itself from a TOML document. To ensure we find no untracked content in the package file all keywords are checked and possible entries have to be explicitly allowed in the check function. If entries are mutally exclusive or interdependent inside the current table the check function is required to enforce this schema on the data structure.

The package file root allows the following keywords

name = "string"
version = "string"
license = "string"
author = "string"
maintainer = "string"
copyright = "string"
[library]
[dependencies]
[dev-dependencies]
[build]
[install]
[[ executable ]]
[[ example ]]
[[ test ]]
[extra]


Contents


Derived Types

type, public :: package_config_t

Package meta data

Type-Bound Procedures

procedure, public :: info

Print information on this instance


Subroutines

public subroutine new_package(self, table, root, error)

Construct a new package configuration from a TOML data structure

Arguments

Type IntentOptional AttributesName
type(package_config_t), intent(out) :: self

Instance of the package configuration

type(toml_table), intent(inout) :: table

Instance of the TOML data structure

character(len=*), intent(in), optional :: root

Root directory of the manifest

type(error_t), intent(out), allocatable:: error

Error handling