Unit 'fpmkunit' Package
[Overview][Constants][Types][Classes][Procedures and functions][Variables][Index] [#fcl]

TCustomDefaults

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Base class for build system default configurations

Declaration

Source position: fpmkunit.pp line 1159

type TCustomDefaults = class(TPersistent)

public

  constructor Create;

  

Creates a new defaults configuration object

  destructor Destroy; override;

  

Destroys the defaults object and releases resources

  procedure InitDefaults; virtual;

  

Initializes default configuration values

  function HaveOptions;

  

Checks if configuration options are available

  procedure AddOption();

  

Adds a configuration option to the defaults

  function IsBuildDifferentFromTarget;

  

Checks if build configuration differs from target

  procedure CompilerDefaults; virtual;

  

Sets up compiler default configuration

  procedure LocalInit();

  

Initializes configuration from local file

  procedure LoadFromFile();

  

Loads configuration settings from a file

  procedure SaveToFile();

  

Saves configuration settings to a file

  procedure SaveToStream(); virtual;

  

Saves configuration settings to a stream

  procedure LoadFromStream(); virtual;

  

Loads configuration settings from a stream

  property CompileTarget: TCompileTarget; [rw]

  

Target configuration for compilation

  property Target: string; [rw]

  

Build target specification

  property OS: TOS; [rw]

  

Target operating system

  property CPU: TCpu; [rw]

  

Target CPU architecture

  property SubTarget: string; [rw]

  

Subtarget configuration name

  property SourceOS: TOS; [r]

  

Source operating system for cross-compilation

  property SourceCPU: TCpu; [r]

  

Source CPU architecture for cross-compilation

  property CompilerVersion: string; [r]

  

Version of the compiler being used

  property CompilerDate: string; [r]

  

Build date of the compiler

  property FullCompilerVersion: string; [r]

  

Full version string of the compiler

  property ExplicitOSNone: Boolean; [rw]

  

Whether to explicitly specify no target OS

  property BuildString: string; [r]

  

Build configuration string

  property BuildTarget: TCompileTarget; [r]

  

Build target specification

  property BuildOS: TOS; [r]

  

Operating system for the build environment

  property BuildCPU: TCpu; [r]

  

CPU architecture for the build environment

  property Mode: TCompilerMode; [rw]

  

Build mode configuration

  property UnixPaths: Boolean; [rw]

  

Whether to use Unix-style path conventions

  property Options: TStrings; [rw]

  

Configuration options for the build

  property NoFPCCfg: Boolean; [rw]

  

Whether to ignore FPC configuration files

  property ThreadsAmount: Integer; [rw]

  

Number of threads to use during compilation

  property LocalUnitDir: string; [rw]

  

Local directory for compiled units

  property GlobalUnitDir: string; [rw]

  

Global directory for compiled units

  property SearchPath: TStrings; [rw]

  

Search paths for finding files

  property Prefix: string; [rw]

  

Installation prefix directory

  property ZipPrefix: string; [rw]

  

Prefix for archive file operations

  property BaseInstallDir: string; [rw]

  

Base directory for installations

  property UnitInstallDir: string; [rw]

  

Directory for installing unit files

  property UnitConfigFilesInstallDir: string; [rw]

  

Directory for installing unit configuration files

  property BinInstallDir: string; [rw]

  

Directory for installing binary files

  property LibInstallDir: string; [rw]

  

Directory for installing library files

  property DocInstallDir: string; [rw]

  

Directory for installing documentation files

  property ExamplesInstallDir: string; [rw]

  

Directory for installing example files

  property FPDocOutputDir: string; [rw]

  

Output directory for FPDoc documentation

  property FPDocOptions: string; [rw]

  

Command line options for FPDoc

  property FPUnitSourcePath: string; [rw]

  

Source path for FPUnit testing framework

  property Compiler: string; [rw]

  

Compiler executable path and options

  property Copy: string; [rw]

  

File copy command and options

  property Move: string; [rw]

  

File move command and options

  property Remove: string; [rw]

  

File removal command and options

  property RemoveDir: string; [rw]

  

Directory removal command and options

  property RemoveTree: string; [rw]

  

Directory tree removal command and options

  property MkDir: string; [rw]

  

Directory creation command and options

  property Archive: string; [rw]

  

Archive creation command and options

  property UseEnvironment: Boolean; [rw]

  

Whether to use environment variables

  property IgnoreInvalidOptions: Boolean; [rw]

  

Whether to ignore invalid configuration options

  property BuildMode: TBuildMode; [rw]

  

Build mode configuration setting

  property SingleFPDocFile: Boolean; [rw]

  

Whether to generate single FPDoc output file

  property Namespaces: Boolean; [rw]

  

Whether to use unit namespaces

  property InstallExamples: Boolean; [rw]

  

Whether to install example files

  property SkipCrossPrograms: Boolean; [rw]

  

Whether to skip cross-compilation programs

  property SkipAllPrograms: Boolean; [rw]

  

Whether to skip building all programs

end;

Inheritance

TCustomDefaults

  

Base class for build system default configurations

|

TPersistent

|

TObject,IFPObserved

Description

TCustomDefaults serves as the base class for managing default configuration settings in the fpmake build system. This abstract class provides a foundation for storing and accessing system-wide defaults and build preferences.

Derived classes extend this base to provide specific configuration management for different aspects of the build system such as compiler settings, paths, and installation options.


Documentation generated on: Dec 15 2025