Implementation of the installation configuration.
An install table can currently have the following fields
library = bool
module-dir = "path"
Configuration data for installation
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| logical, | public | :: | library | = | .false. | Install library with this project | |
| character(len=:), | public, | allocatable | :: | module_dir | Directory where compiled module files should be installed | ||
| logical, | public | :: | test | = | .false. | Install tests with this project | 
| 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 => install_conf_same | Serialization interface | 
| procedure, public, non_overridable :: test_serialization | Test load/write roundtrip | 
Create a new installation configuration from a TOML data structure
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(install_config_t), | intent(out) | :: | self | Instance of the install configuration | ||
| type(toml_table), | intent(inout) | :: | table | Instance of the TOML data structure | ||
| type(error_t), | intent(out), | allocatable | :: | error | Error handling |