-
Notifications
You must be signed in to change notification settings - Fork 9
/
GS.CrossBuild.pas
65 lines (52 loc) · 1.59 KB
/
GS.CrossBuild.pas
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
58
59
60
61
62
63
64
65
unit GS.CrossBuild;
interface
uses Classes, sysUtils;
type
TGSCProject = class
protected
public
//Type lib, app, appCli, appGui
end;
TGSCCompilerMode =(ccmDebug, ccmRelease);
TGSCCompiler = Class
protected
FMode : TGSCCompilerMode;
FCompilerBinary : string;
function GetVersion : string; virtual; abstract;
function GetTargetCPU : string; virtual; abstract;
function GetTargetOS : string; virtual; abstract;
public
property Mode : TGSCCompilerMode read FMode write FMode;
property CompilerBinary : string read FCompilerBinary Write FCompilerBinary;
property Version : string read GetVersion;
property TargetCPU : string read GetTargetCPU;
property TargetOS : string read GetTargetOS;
End;
TGSCDirectories = Class
End;
TGSCDirectory = class
end;
TGSCEnv = class
protected
function GetCompiler : TGSCCompiler; virtual; Abstract;
function GetIncludeDirectories : TGSCDirectories; virtual; abstract;
function GetOutDirectory : TGSCDirectory; virtual; abstract;
public
property CompilerBackEnd : TGSCCompiler read GetCompiler;
property IncludeDirectories : TGSCDirectories read GetIncludeDirectories;
property OutDirectory : TGSCDirectory read GetOutDirectory;
end;
TGSCrossBuild = class
protected
function GetProject : TGSCProject; virtual; abstract;
function GetEnv : TGSCEnv; virtual; abstract;
public
property Project : TGSCProject read GetProject;
property Environments : TGSCEnv read GetEnv;
procedure Clean;
procedure StartBuild; virtual; abstract;
procedure StartBuildAndRun; virtual; abstract;
procedure StartRun; virtual; abstract;
end;
implementation
end.