Implementation of the build configuration data.
A build table can currently have the following fields
[build]
auto-executables = bool
auto-examples = bool
auto-tests = bool
link = ["lib"]
Configuration data for build
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
logical, | public | :: | auto_examples | = | .true. |
Automatic discovery of examples |
|
logical, | public | :: | auto_executables | = | .true. |
Automatic discovery of executables |
|
logical, | public | :: | auto_tests | = | .true. |
Automatic discovery of tests |
|
type(string_t), | public, | allocatable | :: | external_modules(:) |
External modules to use |
||
type(string_t), | public, | allocatable | :: | link(:) |
Libraries to link against |
||
logical, | public | :: | module_naming | = | .false. |
Enforcing of package module names |
|
type(string_t), | public | :: | module_prefix |
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 => build_conf_is_same | ../../ Serialization interface |
procedure, public, non_overridable :: test_serialization | ../../ Test load/write roundtrip |
Construct a new build configuration from a TOML data structure
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(build_config_t), | intent(out) | :: | self |
Instance of the build configuration |
||
type(toml_table), | intent(inout) | :: | table |
Instance of the TOML data structure |
||
character(len=*), | intent(in) | :: | package_name |
Package name |
||
type(error_t), | intent(out), | allocatable | :: | error |
Error handling |