Type describing a generated build target
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
character(len=:), | public, | allocatable | :: | compile_flags |
Compile flags for this build target |
||
type(build_target_ptr), | public, | allocatable | :: | dependencies(:) |
Resolved build dependencies |
||
integer(kind=int64), | public, | allocatable | :: | digest_cached |
Previous source file hash |
||
type(fortran_features_t), | public | :: | features |
Language features |
|||
character(len=:), | public, | allocatable | :: | link_flags |
Link flags for this build target |
||
type(string_t), | public, | allocatable | :: | link_libraries(:) |
Native libraries to link against |
||
type(string_t), | public, | allocatable | :: | link_objects(:) |
Objects needed to link this target |
||
type(string_t), | public, | allocatable | :: | macros(:) |
List of macros |
||
character(len=:), | public, | allocatable | :: | output_dir |
File path of output directory |
||
character(len=:), | public, | allocatable | :: | output_file |
File path of build target object relative to cwd |
||
character(len=:), | public, | allocatable | :: | output_log_file |
File path of build log file relative to cwd |
||
character(len=:), | public, | allocatable | :: | output_name |
File path of build target object relative to output_dir |
||
character(len=:), | public, | allocatable | :: | package_name |
Name of parent package |
||
integer, | public | :: | schedule | = | -1 |
Targets in the same schedule group are guaranteed to be independent |
|
logical, | public | :: | skip | = | .false. |
Flag set if build target will be skipped (not built) |
|
logical, | public | :: | sorted | = | .false. |
Flag set if build target is sorted for building |
|
type(srcfile_t), | public, | allocatable | :: | source |
Primary source for this build target |
||
integer, | public | :: | target_type | = | FPM_TARGET_UNKNOWN |
Target type |
|
logical, | public | :: | touched | = | .false. |
Flag set when first visited to check for circular dependencies |
|
character(len=:), | public, | allocatable | :: | version |
Version number |
type build_target_t
!> File path of build target object relative to cwd
character(:), allocatable :: output_file
!> File path of build target object relative to output_dir
character(:), allocatable :: output_name
!> File path of output directory
character(:), allocatable :: output_dir
!> File path of build log file relative to cwd
character(:), allocatable :: output_log_file
!> Name of parent package
character(:), allocatable :: package_name
!> Primary source for this build target
type(srcfile_t), allocatable :: source
!> Resolved build dependencies
type(build_target_ptr), allocatable :: dependencies(:)
!> Target type
integer :: target_type = FPM_TARGET_UNKNOWN
!> Native libraries to link against
type(string_t), allocatable :: link_libraries(:)
!> Objects needed to link this target
type(string_t), allocatable :: link_objects(:)
!> Link flags for this build target
character(:), allocatable :: link_flags
!> Compile flags for this build target
character(:), allocatable :: compile_flags
!> Flag set when first visited to check for circular dependencies
logical :: touched = .false.
!> Flag set if build target is sorted for building
logical :: sorted = .false.
!> Flag set if build target will be skipped (not built)
logical :: skip = .false.
!> Language features
type(fortran_features_t) :: features
!> Targets in the same schedule group are guaranteed to be independent
integer :: schedule = -1
!> Previous source file hash
integer(int64), allocatable :: digest_cached
!> List of macros
type(string_t), allocatable :: macros(:)
!> Version number
character(:), allocatable :: version
end type build_target_t