TTarget class
Build target representation in the fpmake system
Declaration
TTarget = class(TNamedItem)Inheritance
Description
TTarget represents a single build target within a package, such as a unit, program, or library.
Each target defines what needs to be compiled, how it should be compiled, and where the resulting files
should be installed.
Build targets can be units, programs, libraries, or documentation files. They contain information about source files, compilation options, dependencies, CPU and OS requirements, and installation settings.
Targets are managed through the TTargets collection and are owned by TPackage instances.
See also
Properties
Dependencies | public | Collection of target dependencies |
ResourceFiles | public | Collection of resource files for the target |
Commands | public | Collection of custom commands for the target |
State | public | Current build state of the target |
TargetType | public | Type of the build target |
OSes | public | Set of operating systems this target supports |
CPUs | public | Set of CPU architectures this target supports |
SubTargets | public | Array of subtarget names for this target |
Mode | public | Compiler mode for the target |
Options | public | Compiler options for the target |
SourceFileName | public | Resolved source file name for the target |
UnitFileName | public | Resolved unit file name for the target |
ObjectFileName | public | Resolved object file name for the target |
LTOFileName | public | Link-time optimization file name for the target |
RSTFileName | public | Resource string table filename for the target |
RSJFileName | public | Resource string JSON filename for the target |
FPCTarget | public | FPC compiler target specification |
Extension | public | File extension for the compiled target |
FileType | public | Type of file this target generates |
Directory | public | Directory where the target source files are located |
ResourceStrings | public | Whether to generate resource string support for the target |
Install | public | Whether this target should be installed |
TargetSourceFileName | public | Source filename for the build target |
ObjectPath | public | Path for object files generated during compilation |
UnitPath | public | Search path for unit files during compilation |
IncludePath | public | Search path for include files during compilation |
XML | public | Whether to generate XML documentation for the target |
IsFPMakePlugin | public | Whether this target is an FPMake plugin |
BeforeCompile | public | Event handler executed before target compilation |
AfterCompile | public | Event handler executed after target compilation |
BeforeClean | public | Event handler executed before target cleanup |
AfterClean | public | Event handler executed after target cleanup |
Methods
GetSourceFileName | protected | |
GetUnitFileName | protected | |
GetUnitLibFileName | protected | |
GetObjectFileName | protected | |
GetLTOFileName | protected | |
GetBinFileBase | protected | |
GetRSTFileName | protected | |
GetRSJFileName | protected | |
GetImportLibFileName | protected | |
GetProgramFileName | protected | |
GetProgramDebugFileName | protected | |
GetLibraryFileName | protected | |
GetLibraryDebugFileName | protected | |
Create | public | Creates a new build target instance |
Destroy | public | Destroys the target instance and frees resources |
AssignTo | public | Assigns target properties to another object |
GetOutputFileName | public | Returns the target's output filename for the specified OS |
HaveOptions | public | Checks if target has compilation options |
AddOption | public | Adds a compilation option to the target |
SubTargetAllowed | public | Checks if a subtarget is allowed for this target |
SubTargetsAsString | public | Returns all subtargets as a comma-separated string |
SetName | public | Sets the name of the target |
SetExeName | public | Sets the executable name for the target |
SetXML | public | Sets XML configuration data for the target |
GetCleanFiles | public | Gets list of files to be cleaned for this target |
GetArchiveFiles | public | Gets list of files to be archived for this target |
GetInstallFiles | public | Gets list of files to be installed for this target |
Inherited
From TNamedItem (1)
From TCollectionItem (11)
Changed Collection DisplayName GetDisplayName GetNamePath GetOwner ID Index SetCollection SetDisplayName SetIndex
From TPersistent (5)
Assign DefineProperties FPOAttachObserver FPODetachObserver FPONotifyObservers
From TObject (40)
AfterConstruction BeforeDestruction CheckDisposed ClassInfo ClassName ClassNameIs ClassParent ClassType CleanupInstance DefaultHandler DefaultHandlerStr Dispatch DispatchStr Disposed DisposeOf Equals FieldAddress Free FreeInstance GetDisposed GetHashCode GetInterface GetInterfaceByStr GetInterfaceEntry GetInterfaceEntryByStr GetInterfaceTable GetInterfaceWeak GetLastCastErrorInfo InheritsFrom InitInstance InstanceSize MethodAddress MethodName newinstance QualifiedClassName SafeCallException StringMessageTable SystemHasExtendedRTTI ToString UnitName
An experiment, built from development snapshots. Not the official Free Pascal or Lazarus documentation.
