Type describing everything required to build the root package and its dependencies.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
type(archiver_t), | public | :: | archiver |
Archiver object |
|||
character(len=:), | public, | allocatable | :: | build_prefix |
Base directory for build |
||
character(len=:), | public, | allocatable | :: | c_compile_flags |
Command line flags passed to C for compilation |
||
type(compiler_t), | public | :: | compiler |
Compiler object |
|||
character(len=:), | public, | allocatable | :: | cxx_compile_flags |
Command line flags passed to C++ for compilation |
||
type(dependency_tree_t), | public | :: | deps |
Project dependencies |
|||
logical, | public | :: | enforce_module_names | = | .false. |
Whether module names should be prefixed with the package name |
|
type(string_t), | public, | allocatable | :: | external_modules(:) |
External modules used |
||
character(len=:), | public, | allocatable | :: | fortran_compile_flags |
Command line flags passed to fortran for compilation |
||
type(string_t), | public, | allocatable | :: | include_dirs(:) |
Include directories |
||
logical, | public | :: | include_tests | = | .true. |
Whether tests should be added to the build list |
|
character(len=:), | public, | allocatable | :: | link_flags |
Command line flags passed to the linker |
||
type(string_t), | public, | allocatable | :: | link_libraries(:) |
Native libraries to link against |
||
type(string_t), | public | :: | module_prefix |
Prefix for all module names |
|||
character(len=:), | public, | allocatable | :: | package_name |
Name of root package |
||
type(package_t), | public, | allocatable | :: | packages(:) |
Array of packages (including the root package) |
type :: fpm_model_t
!> Name of root package
character(:), allocatable :: package_name
!> Array of packages (including the root package)
type(package_t), allocatable :: packages(:)
!> Compiler object
type(compiler_t) :: compiler
!> Archiver object
type(archiver_t) :: archiver
!> Command line flags passed to fortran for compilation
character(:), allocatable :: fortran_compile_flags
!> Command line flags passed to C for compilation
character(:), allocatable :: c_compile_flags
!> Command line flags passed to C++ for compilation
character(:), allocatable :: cxx_compile_flags
!> Command line flags passed to the linker
character(:), allocatable :: link_flags
!> Base directory for build
character(:), allocatable :: build_prefix
!> Include directories
type(string_t), allocatable :: include_dirs(:)
!> Native libraries to link against
type(string_t), allocatable :: link_libraries(:)
!> External modules used
type(string_t), allocatable :: external_modules(:)
!> Project dependencies
type(dependency_tree_t) :: deps
!> Whether tests should be added to the build list
logical :: include_tests = .true.
!> Whether module names should be prefixed with the package name
logical :: enforce_module_names = .false.
!> Prefix for all module names
type(string_t) :: module_prefix
end type fpm_model_t