forked from Memnarch/Delphinus
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDN.Compiler.Intf.pas
More file actions
57 lines (50 loc) · 2.33 KB
/
Copy pathDN.Compiler.Intf.pas
File metadata and controls
57 lines (50 loc) · 2.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
{
#########################################################
# Copyright by Alexander Benikowski #
# This unit is part of the Delphinus project hosted on #
# https://github.com/Memnarch/Delphinus #
#########################################################
}
unit DN.Compiler.Intf;
interface
uses
Classes;
type
TDNCompilerTarget = (ctBuild, ctCompile);
TDNCompilerConfig = (ccRelease, ccDebug);
TDNCompilerPlatform = (cpWin32, cpWin64, cpOSX32);
TDNCompilerPlatforms = set of TDNCompilerPlatform;
IDNCompiler = interface
['{AA41BA34-BBD7-454D-A3AA-0730590077A4}']
function GetExeOutput: string;
function GetDCPOutput: string;
function GetDCUOutput: string;
procedure SetExeOutput(const Value: string);
procedure SetDCPOutput(const Value: string);
procedure SetDCUOutput(const Value: string);
function GetConfig: TDNCompilerConfig;
function GetTarget: TDNCompilerTarget;
procedure SetConfig(const Value: TDNCompilerConfig);
procedure SetTarget(const Value: TDNCompilerTarget);
function GetPlatform: TDNCompilerPlatform;
procedure SetPlatform(const Value: TDNCompilerPlatform);
function GetBPLOutput: string;
procedure SetBPLOutput(const Value: string);
function GetLog: TStrings;
function Compile(const AProjectFile: string): Boolean;
function ResolveVars(const APath: string): string;
property DCUOutput: string read GetDCUOutput write SetDCUOutput;
property DCPOutput: string read GetDCPOutput write SetDCPOutput;
property ExeOutput: string read GetExeOutput write SetExeOutput;
property BPLOutput: string read GetBPLOutput write SetBPLOutput;
property Target: TDNCompilerTarget read GetTarget write SetTarget;
property Config: TDNCompilerConfig read GetConfig write SetConfig;
property Platform: TDNCompilerPlatform read GetPlatform write SetPlatform;
property Log: TStrings read GetLog;
end;
const
TDNCompilerTargetName: array[Low(TDNCompilerTarget)..High(TDNCompilerTarget)] of string = ('Build', 'Compile');
TDNCompilerConfigName: array[Low(TDNCompilerConfig)..High(TDNCompilerConfig)] of string = ('Release', 'Debug');
TDNCompilerPlatformName: array[Low(TDNCompilerPlatform)..High(TDNCompilerPlatform)] of string = ('Win32', 'Win64', 'OSX32');
implementation
end.