fpm_manifest_example Module

Implementation of the meta data for an example.

The example data structure is effectively a decorated version of an executable and shares most of its properties, except for the defaults and can be handled under most circumstances just like any other executable.

A example table can currently have the following fields

[[ example ]]
name = "string"
source-dir = "path"
main = "file"
link = ["lib"]
[example.dependencies]


Contents


Derived Types

type, public, extends(executable_config_t) ::  example_config_t

Configuation meta data for an example

Components

Type Visibility Attributes Name Initial
type(dependency_config_t), public, allocatable :: dependency(:)

Dependency meta data for this executable

type(string_t), public, allocatable :: link(:)

Libraries to link against

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

Name of the source file declaring the main program

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

Name of the resulting executable

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

Source directory for collecting the executable

Type-Bound Procedures

procedure , public , :: info Subroutine

Print information on this instance


Subroutines

public subroutine new_example(self, table, error)

Construct a new example configuration from a TOML data structure

Arguments

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

Instance of the example configuration

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

Instance of the TOML data structure

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

Error handling