diff --git a/ideintf/projectintf.pas b/ideintf/projectintf.pas index 8919bbc1bd..02fd69126b 100644 --- a/ideintf/projectintf.pas +++ b/ideintf/projectintf.pas @@ -93,7 +93,8 @@ const type TLazCompOptConditionals = class; - { TCompOptCondNode } + { TCompOptCondNode - a node in the conditional tree of the compiler options + of a project or package } TCompOptCondNode = class private @@ -132,7 +133,9 @@ type property Index: integer read GetIndex write SetIndex; end; - { TLazCompOptConditionals } + { TLazCompOptConditionals + - conditional compiler options + - additions dependending } TLazCompOptConditionals = class private @@ -145,6 +148,29 @@ type property Root: TCompOptCondNode read FRoot write FRoot; end; + { TLazBuildMode } + + TLazBuildMode = class + protected + FDefaultValue: TLazCompOptConditionals; + FIdentifier: string; + FLocalizedName: string; + FLocalizedValues: TStrings; + FValues: TStrings; + procedure SetIdentifier(const AValue: string); virtual; abstract; + procedure SetLocalizedName(const AValue: string); virtual; abstract; + procedure SetLocalizedValues(const AValue: TStrings); virtual; abstract; + procedure SetValues(const AValue: TStrings); virtual; abstract; + public + destructor Destroy; override; + procedure Assign(Source: TLazBuildMode); virtual; abstract; + property Identifier: string read FIdentifier write SetIdentifier; + property LocalizedName: string read FLocalizedName write SetLocalizedName; + property Values: TStrings read FValues write SetValues; + property LocalizedValues: TStrings read FLocalizedValues write SetLocalizedValues; + property DefaultValue: TLazCompOptConditionals read FDefaultValue; + end; + { TLazCompilerOptions } TCompilationExecutableType = ( @@ -1571,6 +1597,14 @@ begin inherited Destroy; end; +{ TLazBuildMode } + +destructor TLazBuildMode.Destroy; +begin + FreeAndNil(FDefaultValue); + inherited Destroy; +end; + initialization ProjectFileDescriptors:=nil;