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 | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(build_target_t), | intent(in) | :: | target_ptr | |||
integer, | intent(in) | :: | scope |
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 contains procedure :: is_executable_target end type build_target_t