fpm_manifest_metapackages Module

Implementation of the metapackage configuration data.

A metapackage table can currently have the following fields

[metapackages]
fpm = "0.1.0"
openmp = bool
stdlib = bool


Derived Types

type, public ::  metapackage_config_t

Configuration data for metapackages

Components

Type Visibility Attributes Name Initial
type(metapackage_request_t), public :: minpack

fortran-lang minpack

type(metapackage_request_t), public :: mpi

Request MPI support

type(metapackage_request_t), public :: openmp

Request OpenMP support

type(metapackage_request_t), public :: stdlib

Request stdlib support

type, public ::  metapackage_request_t

Configuration data for a single metapackage request

Components

Type Visibility Attributes Name Initial
character(len=:), public, allocatable :: name

Metapackage name

logical, public :: on = .false.

Request flag

character(len=:), public, allocatable :: version

Version Specification string


Functions

public function is_meta_package(key)

Check local schema for allowed entries

Read more…

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: key

Instance of the TOML data structure

Return Value logical


Subroutines

public subroutine new_meta_config(self, table, meta_allowed, error)

Construct a new build configuration from a TOML data structure

Read more…

Arguments

Type IntentOptional Attributes Name
type(metapackage_config_t), intent(out) :: self

Instance of the build configuration

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

Instance of the TOML data structure

logical, intent(in) :: meta_allowed(:)

List of keys allowed to be metapackages

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

Error handling

public subroutine new_meta_request(self, key, table, meta_allowed, error)

Construct a new metapackage request from the dependencies table

Read more…

Arguments

Type IntentOptional Attributes Name
type(metapackage_request_t), intent(out) :: self
character(len=*), intent(in) :: key

The package name

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

Instance of the TOML data structure

logical, intent(in), optional :: meta_allowed(:)

List of keys allowed to be metapackages

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

Error handling