Construct a new build configuration from a TOML data structure
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(fortran_config_t), | intent(out) | :: | self |
Instance of the fortran configuration |
||
type(toml_table), | intent(inout) | :: | table |
Instance of the TOML data structure |
||
type(error_t), | intent(out), | allocatable | :: | error |
Error handling |
subroutine new_fortran_config(self, table, error) !> Instance of the fortran configuration type(fortran_config_t), intent(out) :: self !> Instance of the TOML data structure type(toml_table), intent(inout) :: table !> Error handling type(error_t), allocatable, intent(out) :: error integer :: stat character(:), allocatable :: source_form call check(table, error) if (allocated(error)) return call get_value(table, "implicit-typing", self%implicit_typing, .false., stat=stat) if (stat /= toml_stat%success) then call fatal_error(error,"Error while reading value for 'implicit-typing' in fpm.toml, expecting logical") return end if call get_value(table, "implicit-external", self%implicit_external, .false., stat=stat) if (stat /= toml_stat%success) then call fatal_error(error,"Error while reading value for 'implicit-external' in fpm.toml, expecting logical") return end if call get_value(table, "source-form", source_form, "free", stat=stat) if (stat /= toml_stat%success) then call fatal_error(error,"Error while reading value for 'source-form' in fpm.toml, expecting logical") return end if select case(source_form) case default call fatal_error(error,"Value of source-form cannot be '"//source_form//"'") return case("free", "fixed", "default") self%source_form = source_form end select end subroutine new_fortran_config