fpm_manifest_library Module

Implementation of the meta data for libraries.

A library table can currently have the following fields

[library]
source-dir = "path"
include-dir = ["path1","path2"]
build-script = "file"


Derived Types

type, public, extends(serializable_t) ::  library_config_t

Configuration meta data for a library

Components

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

Alternative build script to be invoked

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

Include path prefix

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

Source path prefix

Type-Bound Procedures

generic, public :: dump => dump_to_toml, dump_to_file, dump_to_unit
procedure, public :: dump_to_toml
procedure, public :: info ../../

Print information on this instance

generic, public :: load => load_from_toml, load_from_file, load_from_unit
procedure, public :: load_from_toml
generic, public :: operator(==) => serializable_is_same
procedure, public :: serializable_is_same => library_is_same ../../

Serialization interface

procedure, public, non_overridable :: test_serialization ../../

Test load/write roundtrip


Subroutines

public subroutine new_library(self, table, error)

Construct a new library configuration from a TOML data structure

Arguments

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

Instance of the library configuration

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

Instance of the TOML data structure

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

Error handling