├── screenshot.jpg
├── DelphiParallelBuild.dpr
├── .gitignore
├── .gitattributes
├── README.md
├── uMainForm.vlb
├── uMainForm.pas
└── DelphiParallelBuild.dproj
/screenshot.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FMXExpress/Delphi-Parallel-Build/HEAD/screenshot.jpg
--------------------------------------------------------------------------------
/DelphiParallelBuild.dpr:
--------------------------------------------------------------------------------
1 | program DelphiParallelBuild;
2 |
3 | uses
4 | System.StartUpCopy,
5 | FMX.Forms,
6 | uMainForm in 'uMainForm.pas' {MainForm};
7 |
8 | {$R *.res}
9 |
10 | begin
11 | Application.Initialize;
12 | Application.CreateForm(TMainForm, MainForm);
13 | Application.Run;
14 | end.
15 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Windows thumbnail cache files
2 | Thumbs.db
3 | ehthumbs.db
4 | ehthumbs_vista.db
5 |
6 | # Folder config file
7 | Desktop.ini
8 |
9 | # Recycle Bin used on file shares
10 | $RECYCLE.BIN/
11 |
12 | # Windows Installer files
13 | *.cab
14 | *.msi
15 | *.msm
16 | *.msp
17 |
18 | # Windows shortcuts
19 | *.lnk
20 |
21 | # =========================
22 | # Operating System Files
23 | # =========================
24 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and perform LF normalization
2 | * text=auto
3 |
4 | # Custom for Visual Studio
5 | *.cs diff=csharp
6 |
7 | # Standard to msysgit
8 | *.doc diff=astextplain
9 | *.DOC diff=astextplain
10 | *.docx diff=astextplain
11 | *.DOCX diff=astextplain
12 | *.dot diff=astextplain
13 | *.DOT diff=astextplain
14 | *.pdf diff=astextplain
15 | *.PDF diff=astextplain
16 | *.rtf diff=astextplain
17 | *.RTF diff=astextplain
18 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Delphi-Parallel-Build
2 | Build massive amount of Delphi and C++Builder projects in parallel.
3 |
4 | ---
5 |
6 | Supports TwineCompile for C++ projects. TwineCompile doesn't support parallel building of multiple projects in parallel though so set the CPU count to 1 if TwineCompile is enabled.
7 |
8 | ---
9 |
10 | Requires MSBuild which can be installed stand alone via:
11 | "The latest (as of Jan 2019) stand-alone MSBuild installers can be found here: https://www.visualstudio.com/downloads/
12 |
13 | Scroll down to "Tools for Visual Studio 2019" and choose "Build Tools for Visual Studio 2019" (despite the name, it's for users who don't want the full IDE)" - https://stackoverflow.com/questions/25506178/getting-msbuild-exe-without-installing-visual-studio
14 |
15 | 
16 |
17 | ---
18 | Built and programmed in [Delphi](https://www.embarcadero.com/products/delphi/starter).
19 |
--------------------------------------------------------------------------------
/uMainForm.vlb:
--------------------------------------------------------------------------------
1 | [Rectangle1]
2 | Coordinates=80,256,69,33
3 |
4 | [Layout1]
5 | Coordinates=10,256,53,33
6 |
7 | [MaterialOxfordBlueSB]
8 | Coordinates=325,111,123,33
9 |
10 | [TabControl1]
11 | Coordinates=440,210,74,33
12 |
13 | [TabItem1]
14 | Coordinates=361,210,59,33
15 |
16 | [Layout3]
17 | Coordinates=291,210,53,33
18 |
19 | [ListView1]
20 | Coordinates=10,10,89,159
21 | Visible=True
22 |
23 | [ProjectsFDMemTable]
24 | Coordinates=127,10,119,33
25 | Visible=False
26 |
27 | [SearchEditButton1]
28 | Coordinates=89,210,107,33
29 |
30 | [TabItem2]
31 | Coordinates=10,210,59,33
32 |
33 | [PathEdit]
34 | Coordinates=481,10,56,51
35 |
36 | []
37 | Coordinates=170,256,58,33
38 |
39 | [BindSourceDB1]
40 | Coordinates=640,40,105,141
41 |
42 | [BindingsList1]
43 | Coordinates=319,87,82,33
44 |
45 | [BuildButton]
46 | Coordinates=276,10,73,51
47 |
48 | [VertScrollBox1]
49 | Coordinates=284,163,88,33
50 |
51 | [Layout6]
52 | Coordinates=254,281,53,33
53 |
54 | [Layout5]
55 | Coordinates=486,150,53,33
56 |
57 | [Layout2]
58 | Coordinates=486,262,53,33
59 |
60 | [Layout4]
61 | Coordinates=486,314,53,33
62 |
63 | [BindSourceDB2]
64 | Coordinates=650,210,104,87
65 |
66 | [RSVArsComboEdit]
67 | Coordinates=309,262,107,87
68 | Visible=True
69 |
70 | [ErrorLogMemo]
71 | Coordinates=486,80,88,51
72 |
73 | [ExecParamsEdit]
74 | Coordinates=118,152,95,51
75 |
76 | [PlatformFDMemTable]
77 | Coordinates=61,327,120,33
78 | Visible=False
79 |
80 | [PlatformComboEdit]
81 | Coordinates=190,327,111,87
82 | Visible=True
83 |
84 | [BindSourceDB3]
85 | Coordinates=61,327,107,87
86 |
87 | [CPUTB]
88 | Coordinates=486,366,49,33
89 |
90 | [ScanButton]
91 | Coordinates=345,10,72,51
92 |
93 | [RSVarsFDMemTable]
94 | Coordinates=650,210,115,33
95 | Visible=False
96 |
97 | [CleanSwitch]
98 | Coordinates=505,157,75,51
99 |
100 | [Label5]
101 | Coordinates=505,421,46,51
102 |
103 | [Label6]
104 | Coordinates=0,0,46,51
105 |
106 | [Label1]
107 | Coordinates=505,234,46,51
108 |
109 | [Label7]
110 | Coordinates=136,65,46,51
111 |
112 | [StatusBar1]
113 | Coordinates=338,467,68,33
114 |
115 | [Layout7]
116 | Coordinates=269,467,53,33
117 |
118 | [StatusLabel]
119 | Coordinates=304,1,72,51
120 |
121 | [Layout8]
122 | Coordinates=200,467,53,33
123 |
124 | [Label2]
125 | Coordinates=136,142,46,51
126 |
127 | [TwineSwitch]
128 | Coordinates=417,467,76,51
129 |
130 | [Label4]
131 | Coordinates=21,219,46,51
132 |
133 | [Layout10]
134 | Coordinates=131,467,59,33
135 |
136 | [TabItem3]
137 | Coordinates=52,467,59,33
138 |
139 | [Layout9]
140 | Coordinates=629,1,53,33
141 |
142 | [ClearButton]
143 | Coordinates=629,408,73,51
144 |
145 | [ResetButton]
146 | Coordinates=303,563,75,51
147 |
148 | [Label3]
149 | Coordinates=392,563,46,51
150 |
151 | [Layout12]
152 | Coordinates=234,563,59,33
153 |
154 | [ExtFDMemTable]
155 | Coordinates=629,485,94,33
156 | Visible=False
157 |
158 | [BindNavigator1]
159 | Coordinates=629,331,90,51
160 | Visible=True
161 |
162 | [RetrySwitch]
163 | Coordinates=451,563,73,51
164 |
165 | [Layout11]
166 | Coordinates=165,563,59,33
167 |
168 | [BindSourceDB4]
169 | Coordinates=629,485,92,123
170 |
171 | [ExtStringGrid]
172 | Coordinates=540,563,81,51
173 | Visible=True
174 |
175 |
--------------------------------------------------------------------------------
/uMainForm.pas:
--------------------------------------------------------------------------------
1 | unit uMainForm;
2 |
3 | interface
4 |
5 | uses
6 | System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
7 | FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.Objects,
8 | FMX.Ani, FMX.Edit, FMX.Filter.Effects, FMX.Layouts, FMX.Effects, FMX.StdCtrls,
9 | FMX.Controls.Presentation, FMX.ListView.Types, FMX.ListView.Appearances,
10 | FMX.ListView.Adapters.Base, FireDAC.Stan.Intf, FireDAC.Stan.Option,
11 | FireDAC.Stan.Param, FireDAC.Stan.Error, FireDAC.DatS, FireDAC.Phys.Intf,
12 | FireDAC.DApt.Intf, Data.DB, FireDAC.Comp.DataSet, FireDAC.Comp.Client,
13 | FMX.ListView, FMX.TabControl, System.Rtti, System.Bindings.Outputs,
14 | Fmx.Bind.Editors, Data.Bind.EngExt, Fmx.Bind.DBEngExt, Data.Bind.Components,
15 | Data.Bind.DBScope, FMX.ScrollBox, FMX.Memo, FireDAC.Stan.StorageBin, FMX.ComboEdit,
16 | FMX.EditBox, FMX.ComboTrackBar, System.Threading
17 | {$IFDEF MSWINDOWS}
18 | , WinApi.Windows, FMX.MultiView, FMX.Memo.Types, FMX.Grid.Style,
19 | Data.Bind.Controls, Fmx.Bind.Grid, Data.Bind.Grid, Fmx.Bind.Navigator,
20 | FMX.Grid
21 | {$ENDIF}
22 | ;
23 |
24 | type
25 | TMainForm = class(TForm)
26 | Rectangle1: TRectangle;
27 | MaterialOxfordBlueSB: TStyleBook;
28 | Layout1: TLayout;
29 | TabControl1: TTabControl;
30 | TabItem1: TTabItem;
31 | TabItem2: TTabItem;
32 | ListView1: TListView;
33 | ProjectsFDMemTable: TFDMemTable;
34 | BuildButton: TButton;
35 | Layout3: TLayout;
36 | PathEdit: TEdit;
37 | SearchEditButton1: TSearchEditButton;
38 | ScanButton: TButton;
39 | BindSourceDB1: TBindSourceDB;
40 | BindingsList1: TBindingsList;
41 | ErrorLogMemo: TMemo;
42 | VertScrollBox1: TVertScrollBox;
43 | Layout2: TLayout;
44 | Layout4: TLayout;
45 | Layout5: TLayout;
46 | Layout6: TLayout;
47 | ExecParamsEdit: TEdit;
48 | RSVarsFDMemTable: TFDMemTable;
49 | RSVArsComboEdit: TComboEdit;
50 | BindSourceDB2: TBindSourceDB;
51 | PlatformFDMemTable: TFDMemTable;
52 | PlatformComboEdit: TComboEdit;
53 | BindSourceDB3: TBindSourceDB;
54 | CPUTB: TComboTrackBar;
55 | LinkFillControlToField: TLinkFillControlToField;
56 | LinkFillControlToField2: TLinkFillControlToField;
57 | LinkListControlToField1: TLinkListControlToField;
58 | StatusLabel: TLabel;
59 | Layout9: TLayout;
60 | Layout10: TLayout;
61 | CleanSwitch: TSwitch;
62 | Label2: TLabel;
63 | Label4: TLabel;
64 | Label5: TLabel;
65 | Label6: TLabel;
66 | Label7: TLabel;
67 | TabItem3: TTabItem;
68 | StatusBar1: TStatusBar;
69 | Layout7: TLayout;
70 | Layout8: TLayout;
71 | TwineSwitch: TSwitch;
72 | Label1: TLabel;
73 | ClearButton: TButton;
74 | ResetButton: TButton;
75 | Layout11: TLayout;
76 | Layout12: TLayout;
77 | RetrySwitch: TSwitch;
78 | Label3: TLabel;
79 | ExtStringGrid: TStringGrid;
80 | BindNavigator1: TBindNavigator;
81 | ExtFDMemTable: TFDMemTable;
82 | BindSourceDB4: TBindSourceDB;
83 | LinkGridToDataSourceBindSourceDB4: TLinkGridToDataSource;
84 | procedure ScanButtonClick(Sender: TObject);
85 | procedure SearchEditButton1Click(Sender: TObject);
86 | procedure BuildButtonClick(Sender: TObject);
87 | procedure FormCreate(Sender: TObject);
88 | procedure ClearButtonClick(Sender: TObject);
89 | procedure ResetButtonClick(Sender: TObject);
90 | private
91 | { Private declarations }
92 | FCancel: Boolean;
93 | function ProcessTask(const AId: Integer): ITask;
94 | procedure BuildProject(const AId: Integer; const APath: String);
95 | procedure BuildEnd(const ATime: String);
96 | {$IFDEF MSWINDOWS}
97 | function ExeAndWait(ExeNameAndParams: string; ncmdShow: Integer = SW_SHOWNORMAL): Integer;
98 | {$ENDIF}
99 | public
100 | { Public declarations }
101 | end;
102 | const
103 | STS_READY = 'Ready';
104 | STS_BUILDING = 'Building...';
105 | STS_SUCCESS = 'Complete';
106 | STS_FAIL = 'Failed';
107 |
108 | var
109 | MainForm: TMainForm;
110 |
111 | implementation
112 |
113 | {$R *.fmx}
114 |
115 | uses
116 | System.Diagnostics, System.IOUtils;
117 |
118 | procedure TMainForm.ScanButtonClick(Sender: TObject);
119 | var
120 | LList: TStringDynArray;
121 | LSearchOption: TSearchOption;
122 | LItem: String;
123 | begin
124 | LSearchOption := TSearchOption.soAllDirectories;
125 | ExtFDMemTable.First;
126 | while not ExtFDMemTable.Eof do
127 | begin
128 | LList := LList + TDirectory.GetFiles(PathEdit.Text, ExtFDMemTable.FieldByName('Extension').AsWideString, LSearchOption);
129 | ExtFDMemTable.Next;
130 | end;
131 | ProjectsFDMemTable.EmptyDataSet;
132 | ProjectsFDMemTable.BeginBatch;
133 | for LItem in LList do
134 | begin
135 | ProjectsFDMemTable.Append;
136 | ProjectsFDMemTable.Edit;
137 | ProjectsFDMemTable.FieldByName('Filename').AsString := ExtractFileName(LItem);
138 | ProjectsFDMemTable.FieldByName('FullPath').AsString := LItem;
139 | ProjectsFDMemTable.FieldByName('Status').AsString := STS_READY;
140 | ProjectsFDMemTable.Post;
141 | end;
142 | ProjectsFDMemTable.EndBatch;
143 | StatusLabel.Text := ProjectsFDMemTable.RecordCount.ToString + ' projects found.';
144 | end;
145 |
146 | procedure TMainForm.SearchEditButton1Click(Sender: TObject);
147 | var
148 | LDirectory: String;
149 | begin
150 | if SelectDirectory('Open Projects',ExtractFilePath(ParamStr(0)),LDirectory) then
151 | begin
152 | PathEdit.Text := LDirectory;
153 | end;
154 | end;
155 |
156 | function TMainForm.ProcessTask(const AId: Integer): ITask;
157 | begin
158 | Result := TTask.Create(procedure var LIndex: Integer; LPath: String; begin
159 | for LIndex := 0 to ProjectsFDMemTable.RecordCount-1 do
160 | begin
161 | LPath := '';
162 |
163 | TThread.Synchronize(nil,procedure begin
164 | if RetrySwitch.IsChecked=True then
165 | if ProjectsFDMemTable.Locate('Status',VarArrayOf([STS_FAIL]),[])=True then
166 | begin
167 | ProjectsFDMemTable.Edit;
168 | ProjectsFDMemTable.FieldByName('Status').AsString := STS_READY;
169 | ProjectsFDMemTable.Post;
170 | end;
171 |
172 | if ProjectsFDMemTable.Locate('Status',VarArrayOf([STS_READY]),[])=True then
173 | begin
174 | LPath := ProjectsFDMemTable.FieldByName('FullPath').AsString;
175 | ProjectsFDMemTable.Edit;
176 | ProjectsFDMemTable.FieldByName('Status').AsString := STS_BUILDING;
177 | ProjectsFDMemTable.Post;
178 | end;
179 | end);
180 |
181 | if LPath='' then Exit;
182 |
183 | BuildProject(AId, LPath);
184 |
185 | if FCancel then
186 | Break;
187 | end;
188 | end);
189 | end;
190 |
191 | procedure TMainForm.ResetButtonClick(Sender: TObject);
192 | begin
193 | ErrorLogMemo.Lines.Clear;
194 |
195 | ProjectsFDMemTable.First;
196 |
197 | while not ProjectsFDMemTable.EOF do
198 | begin
199 | ProjectsFDMemTable.Edit;
200 | ProjectsFDMemTable.FieldByName('Status').AsString := STS_READY;
201 | ProjectsFDMemTable.Post;
202 | ProjectsFDMemTable.Next;
203 | end;
204 | end;
205 |
206 | procedure TMainForm.BuildEnd(const ATime: String);
207 | begin
208 | if FCancel=False then
209 | StatusLabel.Text := 'Completed in '+ATime+'ms'
210 | else
211 | StatusLabel.Text := 'Canceled';
212 |
213 | BuildButton.Tag := 0;
214 | BuildButton.Text := BuildButton.Hint;
215 |
216 | FCancel := False;
217 | end;
218 |
219 | procedure TMainForm.BuildButtonClick(Sender: TObject);
220 | var
221 | LTasks: array of ITask;
222 | LThreadCount: Integer;
223 | LIndex: Integer;
224 | begin
225 | case BuildButton.Tag of
226 | 0: begin
227 | FCancel := False;
228 |
229 | BuildButton.Tag := 1;
230 | BuildButton.Text := 'Cancel';
231 |
232 | StatusLabel.Text := '';
233 |
234 | LThreadCount := Trunc(CPUTB.Value);
235 |
236 | var StopWatch := TStopWatch.Create;
237 |
238 | StopWatch.Start;
239 |
240 | for LIndex := 1 to LThreadCount do
241 | begin
242 | LTasks := LTasks + [ProcessTask(LIndex)];
243 | LTasks[High(LTasks)].Start;
244 | end;
245 |
246 | TTask.Run(procedure begin
247 | TTask.WaitForAll(LTasks);
248 | TThread.Synchronize(nil,procedure begin
249 | StopWatch.Stop;
250 | BuildEnd(StopWatch.ElapsedMilliseconds.ToString);
251 | end);
252 | end);
253 | end;
254 | 1: begin
255 | FCancel := True;
256 | end;
257 | end;
258 |
259 | end;
260 |
261 | procedure TMainForm.BuildProject(const AId: Integer; const APath: String);
262 | var
263 | LCurrentFile: String;
264 | LReturnCode: integer;
265 | SL: TStringList;
266 | OutBat: TStringList;
267 | LAdditionalPath: String;
268 | LPlatform: String;
269 | LName: String;
270 | LProject: TStringList;
271 | begin
272 |
273 | SL := TStringList.Create;
274 | SL.LoadFromFile(RSVArsComboEdit.Text);
275 |
276 | LPlatform := 'Win32';
277 | LName := ExtractFileName(APath).Replace(ExtractFileExt(APath),'');
278 |
279 | if TwineSwitch.IsChecked=True then
280 | begin
281 | LProject := TStringList.Create;
282 | LProject.LoadFromFile(APath);
283 | if LProject.Text.IndexOf('')=-1 then
284 | begin
285 | LProject.Text := LProject.Text.Replace('',''+'');
286 | LProject.SaveToFile(APath);
287 | end;
288 | LProject.Free;
289 | end
290 | else
291 | begin
292 | LProject := TStringList.Create;
293 | LProject.LoadFromFile(APath);
294 | if LProject.Text.IndexOf('')>-1 then
295 | begin
296 | LProject.Text := LProject.Text.Replace('', '');
297 | LProject.SaveToFile(APath);
298 | end;
299 | LProject.Free;
300 | end;
301 |
302 | OutBat := TStringList.Create;
303 | try
304 | LAdditionalPath := '';
305 | OutBat.Text := Trim(SL.Text);
306 |
307 | if APath.ToUpper.IndexOf('FLATBOX2D')>0 then
308 | LAdditionalPath := ';DCC_UnitSearchPath=$(DCC_UnitSearchPath)\FlatBox2d;$(DCC_UnitSearchPath)';
309 |
310 | OutBat.Append(Format(ExecParamsEdit.Text, [APAth, PlatformComboEdit.Text, LAdditionalPath, CPUTB.Text]) + ' > ' + 'list'+AId.ToString + '.log');
311 | if CleanSwitch.IsChecked then OutBat.Append(Format('msbuild "%s" /t:Clean /p:Platform=%s ', [APath, PlatformComboEdit.Text]));
312 | OutBat.SaveToFile(ExtractFilePath(ParamStr(0)) + 'list'+AId.ToString + '.bat');
313 | LCurrentFile := 'cmd /c call '+ExtractFilePath(ParamStr(0))+'list'+AId.ToString+'.bat';
314 | {$IFDEF MSWINDOWS}
315 | LReturnCode := ExeAndWait(LCurrentFile, SW_HIDE);
316 | {$ENDIF}
317 | OutBat.LoadFromFile(ExtractFilePath(ParamStr(0)) + 'list'+AId.ToString + '.log');
318 | if OutBat.Text.IndexOf('Build succeeded.')>0 then
319 | begin
320 | TThread.Synchronize(nil,procedure begin
321 | if ProjectsFDMemTable.Locate('FullPath',VarArrayOf([APath]),[]) then
322 | begin
323 | ProjectsFDMemTable.Edit;
324 | ProjectsFDMemTable.FieldByName('Status').AsString := STS_SUCCESS;
325 | ProjectsFDMemTable.Post;
326 | end;
327 | end);
328 | end
329 | else
330 | begin
331 | TThread.Synchronize(nil,procedure begin
332 | if ProjectsFDMemTable.Locate('FullPath',VarArrayOf([APath]),[]) then
333 | begin
334 | ProjectsFDMemTable.Edit;
335 | ProjectsFDMemTable.FieldByName('Status').AsString := STS_FAIL;
336 | ProjectsFDMemTable.Post;
337 | end;
338 | ErrorLogMemo.Lines.Append(OutBat.Text);
339 | end);
340 | end;
341 | TThread.Synchronize(nil,procedure begin
342 | Application.ProcessMessages;
343 | end);
344 |
345 | if TwineSwitch.IsChecked=True then
346 | begin
347 | LProject := TStringList.Create;
348 | LProject.LoadFromFile(APath);
349 | if LProject.Text.IndexOf('')>-1 then
350 | begin
351 | LProject.Text := LProject.Text.Replace('', '');
352 | LProject.SaveToFile(APath);
353 | end;
354 | LProject.Free;
355 | end;
356 |
357 | finally
358 | OutBat.Free;
359 | SL.Free;
360 | end;
361 |
362 | end;
363 |
364 | procedure TMainForm.ClearButtonClick(Sender: TObject);
365 | begin
366 | ProjectsFDMemTable.EmptyDataSet;
367 | end;
368 |
369 | {$IFDEF MSWINDOWS}
370 | function TMainForm.ExeAndWait(ExeNameAndParams: string; ncmdShow: Integer = SW_SHOWNORMAL): Integer;
371 | var
372 | StartupInfo: TStartupInfo;
373 | ProcessInformation: TProcessInformation;
374 | Res: Bool;
375 | lpExitCode: DWORD;
376 | begin
377 | with StartupInfo do //you can play with this structure
378 | begin
379 | cb := SizeOf(TStartupInfo);
380 | lpReserved := nil;
381 | lpDesktop := nil;
382 | lpTitle := nil;
383 | dwFlags := STARTF_USESHOWWINDOW;
384 | wShowWindow := ncmdShow;
385 | cbReserved2 := 0;
386 | lpReserved2 := nil;
387 | end;
388 | Res := CreateProcess(nil, PChar(ExeNameAndParams), nil, nil, True,
389 | CREATE_DEFAULT_ERROR_MODE
390 | or NORMAL_PRIORITY_CLASS, nil, nil, StartupInfo, ProcessInformation);
391 | while True do
392 | begin
393 | GetExitCodeProcess(ProcessInformation.hProcess, lpExitCode);
394 | if lpExitCode <> STILL_ACTIVE then
395 | Break;
396 | Application.ProcessMessages;
397 | end;
398 | Result := Integer(lpExitCode);
399 | end;
400 | {$ENDIF}
401 |
402 | procedure TMainForm.FormCreate(Sender: TObject);
403 | begin
404 | BuildButton.Hint := BuildButton.Text;
405 |
406 | CPUTB.Text := System.CPUCount.ToString;
407 | TLinkObservers.ControlChanged(CPUTB);
408 | end;
409 |
410 | end.
411 |
--------------------------------------------------------------------------------
/DelphiParallelBuild.dproj:
--------------------------------------------------------------------------------
1 |
2 |
3 | {8D31E955-FB52-46A5-A7B5-2B09FA5513B8}
4 | 19.1
5 | FMX
6 | DelphiParallelBuild.dpr
7 | True
8 | Release
9 | Win64
10 | 37915
11 | Application
12 |
13 |
14 | true
15 |
16 |
17 | true
18 | Base
19 | true
20 |
21 |
22 | true
23 | Base
24 | true
25 |
26 |
27 | true
28 | Base
29 | true
30 |
31 |
32 | true
33 | Base
34 | true
35 |
36 |
37 | true
38 | Base
39 | true
40 |
41 |
42 | true
43 | Base
44 | true
45 |
46 |
47 | true
48 | Base
49 | true
50 |
51 |
52 | true
53 | Base
54 | true
55 |
56 |
57 | true
58 | Cfg_1
59 | true
60 | true
61 |
62 |
63 | true
64 | Cfg_1
65 | true
66 | true
67 |
68 |
69 | true
70 | Base
71 | true
72 |
73 |
74 | true
75 | Cfg_2
76 | true
77 | true
78 |
79 |
80 | true
81 | Cfg_2
82 | true
83 | true
84 |
85 |
86 | true
87 | Cfg_2
88 | true
89 | true
90 |
91 |
92 | true
93 | Cfg_2
94 | true
95 | true
96 |
97 |
98 | .\$(Platform)\$(Config)
99 | .\$(Platform)\$(Config)
100 | false
101 | false
102 | false
103 | false
104 | false
105 | System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace)
106 | true
107 | true
108 | true
109 | true
110 | true
111 | true
112 | true
113 | true
114 | $(BDS)\bin\delphi_PROJECTICON.ico
115 | $(BDS)\bin\delphi_PROJECTICNS.icns
116 | DelphiParallelBuild
117 |
118 |
119 | DBXSqliteDriver;RESTComponents;DBXInterBaseDriver;emsclientfiredac;tethering;DataSnapFireDAC;bindcompfmx;FmxTeeUI;fmx;FireDACIBDriver;RadiantShapesFmx;FireDACDBXDriver;dbexpress;IndyCore;dsnap;emsclient;DataSnapCommon;FireDACCommon;RESTBackendComponents;soapserver;TMSLoggingPkgFMXDXE12;SampleListViewRatingsAppearancePackage;bindengine;CloudService;FireDACCommonDriver;DataSnapClient;inet;IndyIPCommon;bindcompdbx;IndyIPServer;IndySystem;fmxFireDAC;FireDAC;FireDACSqliteDriver;FMXTee;soaprtl;DbxCommonDriver;xmlrtl;soapmidas;DataSnapNativeClient;FireDACDSDriver;rtl;DbxClientDriver;CustomIPTransport;bindcomp;IndyIPClient;TMSLoggingPkgCoreDXE12;dbxcds;RadiantShapesFmx_Design;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;$(DCC_UsePackage)
120 | package=com.embarcadero.$(MSBuildProjectName);label=$(MSBuildProjectName);versionCode=1;versionName=1.0.0;persistent=False;restoreAnyVersion=False;installLocation=auto;largeHeap=False;theme=TitleBar;hardwareAccelerated=true;apiKey=
121 | Debug
122 | true
123 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_36x36.png
124 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_48x48.png
125 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_72x72.png
126 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_96x96.png
127 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_144x144.png
128 | $(BDS)\bin\Artwork\Android\FM_SplashImage_426x320.png
129 | $(BDS)\bin\Artwork\Android\FM_SplashImage_470x320.png
130 | $(BDS)\bin\Artwork\Android\FM_SplashImage_640x480.png
131 | $(BDS)\bin\Artwork\Android\FM_SplashImage_960x720.png
132 | $(BDS)\bin\Artwork\Android\FM_NotificationIcon_24x24.png
133 | $(BDS)\bin\Artwork\Android\FM_NotificationIcon_36x36.png
134 | $(BDS)\bin\Artwork\Android\FM_NotificationIcon_48x48.png
135 | $(BDS)\bin\Artwork\Android\FM_NotificationIcon_72x72.png
136 | $(BDS)\bin\Artwork\Android\FM_NotificationIcon_96x96.png
137 | android-support-v4.dex.jar;cloud-messaging.dex.jar;com-google-android-gms.play-services-ads-base.17.2.0.dex.jar;com-google-android-gms.play-services-ads-identifier.16.0.0.dex.jar;com-google-android-gms.play-services-ads-lite.17.2.0.dex.jar;com-google-android-gms.play-services-ads.17.2.0.dex.jar;com-google-android-gms.play-services-analytics-impl.16.0.8.dex.jar;com-google-android-gms.play-services-analytics.16.0.8.dex.jar;com-google-android-gms.play-services-base.16.0.1.dex.jar;com-google-android-gms.play-services-basement.16.2.0.dex.jar;com-google-android-gms.play-services-gass.17.2.0.dex.jar;com-google-android-gms.play-services-identity.16.0.0.dex.jar;com-google-android-gms.play-services-maps.16.1.0.dex.jar;com-google-android-gms.play-services-measurement-base.16.4.0.dex.jar;com-google-android-gms.play-services-measurement-sdk-api.16.4.0.dex.jar;com-google-android-gms.play-services-stats.16.0.1.dex.jar;com-google-android-gms.play-services-tagmanager-v4-impl.16.0.8.dex.jar;com-google-android-gms.play-services-tasks.16.0.1.dex.jar;com-google-android-gms.play-services-wallet.16.0.1.dex.jar;com-google-firebase.firebase-analytics.16.4.0.dex.jar;com-google-firebase.firebase-common.16.1.0.dex.jar;com-google-firebase.firebase-iid-interop.16.0.1.dex.jar;com-google-firebase.firebase-iid.17.1.1.dex.jar;com-google-firebase.firebase-measurement-connector.17.0.1.dex.jar;com-google-firebase.firebase-messaging.17.5.0.dex.jar;fmx.dex.jar;google-play-billing.dex.jar;google-play-licensing.dex.jar
138 |
139 |
140 | DBXSqliteDriver;RESTComponents;DBXInterBaseDriver;emsclientfiredac;tethering;DataSnapFireDAC;bindcompfmx;FmxTeeUI;fmx;FireDACIBDriver;RadiantShapesFmx;FireDACDBXDriver;dbexpress;IndyCore;dsnap;emsclient;DataSnapCommon;FireDACCommon;RESTBackendComponents;soapserver;bindengine;CloudService;FireDACCommonDriver;DataSnapClient;inet;IndyIPCommon;bindcompdbx;IndyIPServer;IndySystem;fmxFireDAC;FireDAC;FireDACSqliteDriver;FMXTee;soaprtl;DbxCommonDriver;xmlrtl;soapmidas;DataSnapNativeClient;FireDACDSDriver;rtl;DbxClientDriver;CustomIPTransport;bindcomp;ClassBrowsing;IndyIPClient;dbxcds;RadiantShapesFmx_Design;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;$(DCC_UsePackage)
141 | package=com.embarcadero.$(MSBuildProjectName);label=$(MSBuildProjectName);versionCode=1;versionName=1.0.0;persistent=False;restoreAnyVersion=False;installLocation=auto;largeHeap=False;theme=TitleBar;hardwareAccelerated=true;apiKey=
142 | Debug
143 | true
144 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_36x36.png
145 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_48x48.png
146 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_72x72.png
147 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_96x96.png
148 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_144x144.png
149 | $(BDS)\bin\Artwork\Android\FM_SplashImage_426x320.png
150 | $(BDS)\bin\Artwork\Android\FM_SplashImage_470x320.png
151 | $(BDS)\bin\Artwork\Android\FM_SplashImage_640x480.png
152 | $(BDS)\bin\Artwork\Android\FM_SplashImage_960x720.png
153 | $(BDS)\bin\Artwork\Android\FM_NotificationIcon_24x24.png
154 | $(BDS)\bin\Artwork\Android\FM_NotificationIcon_36x36.png
155 | $(BDS)\bin\Artwork\Android\FM_NotificationIcon_48x48.png
156 | $(BDS)\bin\Artwork\Android\FM_NotificationIcon_72x72.png
157 | $(BDS)\bin\Artwork\Android\FM_NotificationIcon_96x96.png
158 | android-support-v4.dex.jar;cloud-messaging.dex.jar;com-google-android-gms.play-services-ads-base.17.2.0.dex.jar;com-google-android-gms.play-services-ads-identifier.16.0.0.dex.jar;com-google-android-gms.play-services-ads-lite.17.2.0.dex.jar;com-google-android-gms.play-services-ads.17.2.0.dex.jar;com-google-android-gms.play-services-analytics-impl.16.0.8.dex.jar;com-google-android-gms.play-services-analytics.16.0.8.dex.jar;com-google-android-gms.play-services-base.16.0.1.dex.jar;com-google-android-gms.play-services-basement.16.2.0.dex.jar;com-google-android-gms.play-services-gass.17.2.0.dex.jar;com-google-android-gms.play-services-identity.16.0.0.dex.jar;com-google-android-gms.play-services-maps.16.1.0.dex.jar;com-google-android-gms.play-services-measurement-base.16.4.0.dex.jar;com-google-android-gms.play-services-measurement-sdk-api.16.4.0.dex.jar;com-google-android-gms.play-services-stats.16.0.1.dex.jar;com-google-android-gms.play-services-tagmanager-v4-impl.16.0.8.dex.jar;com-google-android-gms.play-services-tasks.16.0.1.dex.jar;com-google-android-gms.play-services-wallet.16.0.1.dex.jar;com-google-firebase.firebase-analytics.16.4.0.dex.jar;com-google-firebase.firebase-common.16.1.0.dex.jar;com-google-firebase.firebase-iid-interop.16.0.1.dex.jar;com-google-firebase.firebase-iid.17.1.1.dex.jar;com-google-firebase.firebase-measurement-connector.17.0.1.dex.jar;com-google-firebase.firebase-messaging.17.5.0.dex.jar;fmx.dex.jar;google-play-billing.dex.jar;google-play-licensing.dex.jar
159 |
160 |
161 | DBXSqliteDriver;RESTComponents;fmxase;DBXInterBaseDriver;emsclientfiredac;tethering;DataSnapFireDAC;bindcompfmx;FmxTeeUI;fmx;FireDACIBDriver;RadiantShapesFmx;FireDACDBXDriver;dbexpress;IndyCore;dsnap;emsclient;DataSnapCommon;FireDACCommon;RESTBackendComponents;soapserver;TMSLoggingPkgFMXDXE12;SampleListViewRatingsAppearancePackage;bindengine;CloudService;FireDACCommonDriver;TMSFMXWebGMapsPkgDXE12;DataSnapClient;inet;IndyIPCommon;bindcompdbx;IndyIPServer;TMSFMXCloudPackPkgDXE12;IndySystem;fmxFireDAC;FireDAC;TMSFMXChartPkgDXE12;FireDACSqliteDriver;FMXTee;soaprtl;DbxCommonDriver;xmlrtl;soapmidas;DataSnapNativeClient;FireDACDSDriver;rtl;DbxClientDriver;CustomIPTransport;bindcomp;fgx;ClassBrowsing;IndyIPClient;TMSLoggingPkgCoreDXE12;dbxcds;TMSFMXPackPkgDXE12;RadiantShapesFmx_Design;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;$(DCC_UsePackage)
162 | CFBundleName=$(MSBuildProjectName);CFBundleDevelopmentRegion=en;CFBundleDisplayName=$(MSBuildProjectName);CFBundleIdentifier=$(MSBuildProjectName);CFBundleInfoDictionaryVersion=7.1;CFBundleVersion=1.0.0;CFBundleShortVersionString=1.0.0;CFBundlePackageType=APPL;CFBundleSignature=????;LSRequiresIPhoneOS=true;CFBundleAllowMixedLocalizations=YES;CFBundleExecutable=$(MSBuildProjectName);UIDeviceFamily=iPhone & iPad;NSLocationAlwaysUsageDescription=The reason for accessing the location information of the user;NSLocationWhenInUseUsageDescription=The reason for accessing the location information of the user;NSLocationAlwaysAndWhenInUseUsageDescription=The reason for accessing the location information of the user;UIBackgroundModes=;NSContactsUsageDescription=The reason for accessing the contacts;NSPhotoLibraryUsageDescription=The reason for accessing the photo library;NSPhotoLibraryAddUsageDescription=The reason for adding to the photo library;NSCameraUsageDescription=The reason for accessing the camera;NSFaceIDUsageDescription=The reason for accessing the face id;NSMicrophoneUsageDescription=The reason for accessing the microphone;NSSiriUsageDescription=The reason for accessing Siri;ITSAppUsesNonExemptEncryption=false;NSBluetoothAlwaysUsageDescription=The reason for accessing bluetooth;NSBluetoothPeripheralUsageDescription=The reason for accessing bluetooth peripherals;NSCalendarsUsageDescription=The reason for accessing the calendar data;NSRemindersUsageDescription=The reason for accessing the reminders;NSMotionUsageDescription=The reason for accessing the accelerometer;NSSpeechRecognitionUsageDescription=The reason for requesting to send user data to Apple's speech recognition servers
163 | iPhoneAndiPad
164 | true
165 | Debug
166 | $(MSBuildProjectName)
167 | $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_120x120.png
168 | $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_180x180.png
169 | $(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_80x80.png
170 | $(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_120x120.png
171 | $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_152x152.png
172 | $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_167x167.png
173 | $(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_80x80.png
174 | $(BDS)\bin\Artwork\iOS\iPad\FM_SettingIcon_58x58.png
175 | $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_2x.png
176 | $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImageDark_2x.png
177 | $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_3x.png
178 | $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImageDark_3x.png
179 | $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImage_2x.png
180 | $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageDark_2x.png
181 | $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_1024x1024.png
182 | $(BDS)\bin\Artwork\iOS\iPhone\FM_NotificationIcon_60x60.png
183 | $(BDS)\bin\Artwork\iOS\iPhone\FM_SettingIcon_87x87.png
184 | $(BDS)\bin\Artwork\iOS\iPhone\FM_NotificationIcon_40x40.png
185 | $(BDS)\bin\Artwork\iOS\iPhone\FM_SettingIcon_58x58.png
186 | $(BDS)\bin\Artwork\iOS\iPad\FM_NotificationIcon_40x40.png
187 |
188 |
189 | DBXSqliteDriver;RESTComponents;fmxase;DBXInterBaseDriver;emsclientfiredac;tethering;DataSnapFireDAC;bindcompfmx;FmxTeeUI;fmx;FireDACIBDriver;RadiantShapesFmx;FireDACDBXDriver;dbexpress;IndyCore;dsnap;emsclient;DataSnapCommon;FireDACCommon;RESTBackendComponents;soapserver;TMSLoggingPkgFMXDXE12;SampleListViewRatingsAppearancePackage;bindengine;CloudService;FireDACCommonDriver;DataSnapClient;inet;IndyIPCommon;bindcompdbx;IndyIPServer;TMSFMXCloudPackPkgDXE12;IndySystem;fmxFireDAC;FireDAC;FireDACSqliteDriver;FMXTee;soaprtl;DbxCommonDriver;xmlrtl;soapmidas;DataSnapNativeClient;FireDACDSDriver;rtl;DbxClientDriver;CustomIPTransport;bindcomp;IndyIPClient;TMSLoggingPkgCoreDXE12;dbxcds;RadiantShapesFmx_Design;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;$(DCC_UsePackage)
190 | CFBundleName=$(MSBuildProjectName);CFBundleDevelopmentRegion=en;CFBundleDisplayName=$(MSBuildProjectName);CFBundleIdentifier=$(MSBuildProjectName);CFBundleInfoDictionaryVersion=7.1;CFBundleVersion=1.0.0;CFBundleShortVersionString=1.0.0;CFBundlePackageType=APPL;CFBundleSignature=????;LSRequiresIPhoneOS=true;CFBundleAllowMixedLocalizations=YES;CFBundleExecutable=$(MSBuildProjectName);UIDeviceFamily=iPhone & iPad;NSLocationAlwaysUsageDescription=The reason for accessing the location information of the user;NSLocationWhenInUseUsageDescription=The reason for accessing the location information of the user;NSLocationAlwaysAndWhenInUseUsageDescription=The reason for accessing the location information of the user;UIBackgroundModes=;NSContactsUsageDescription=The reason for accessing the contacts;NSPhotoLibraryUsageDescription=The reason for accessing the photo library;NSPhotoLibraryAddUsageDescription=The reason for adding to the photo library;NSCameraUsageDescription=The reason for accessing the camera;NSFaceIDUsageDescription=The reason for accessing the face id;NSMicrophoneUsageDescription=The reason for accessing the microphone;NSSiriUsageDescription=The reason for accessing Siri;ITSAppUsesNonExemptEncryption=false;NSBluetoothAlwaysUsageDescription=The reason for accessing bluetooth;NSBluetoothPeripheralUsageDescription=The reason for accessing bluetooth peripherals;NSCalendarsUsageDescription=The reason for accessing the calendar data;NSRemindersUsageDescription=The reason for accessing the reminders;NSMotionUsageDescription=The reason for accessing the accelerometer;NSSpeechRecognitionUsageDescription=The reason for requesting to send user data to Apple's speech recognition servers
191 | iPhoneAndiPad
192 | true
193 | $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_120x120.png
194 | $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_180x180.png
195 | $(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_80x80.png
196 | $(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_120x120.png
197 | $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_152x152.png
198 | $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_167x167.png
199 | $(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_80x80.png
200 | $(BDS)\bin\Artwork\iOS\iPad\FM_SettingIcon_58x58.png
201 | $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_2x.png
202 | $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImageDark_2x.png
203 | $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_3x.png
204 | $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImageDark_3x.png
205 | $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImage_2x.png
206 | $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageDark_2x.png
207 | 10.0
208 | $(BDS)\bin\Artwork\iOS\iPhone\FM_NotificationIcon_60x60.png
209 | $(BDS)\bin\Artwork\iOS\iPhone\FM_SettingIcon_87x87.png
210 | $(BDS)\bin\Artwork\iOS\iPhone\FM_NotificationIcon_40x40.png
211 | $(BDS)\bin\Artwork\iOS\iPhone\FM_SettingIcon_58x58.png
212 | $(BDS)\bin\Artwork\iOS\iPad\FM_NotificationIcon_40x40.png
213 |
214 |
215 | DBXSqliteDriver;RESTComponents;fmxase;DBXInterBaseDriver;emsclientfiredac;tethering;DataSnapFireDAC;FireDACMSSQLDriver;bindcompfmx;DBXOracleDriver;inetdb;FmxTeeUI;fmx;FireDACIBDriver;fmxdae;RadiantShapesFmx;FireDACDBXDriver;dbexpress;IndyCore;dsnap;emsclient;DataSnapCommon;FireDACCommon;RESTBackendComponents;soapserver;bindengine;DBXMySQLDriver;CloudService;FireDACOracleDriver;FireDACMySQLDriver;DBXFirebirdDriver;FireDACCommonODBC;FireDACCommonDriver;DataSnapClient;inet;IndyIPCommon;bindcompdbx;IndyIPServer;IndySystem;fmxFireDAC;FireDAC;FireDACSqliteDriver;FireDACPgDriver;FireDACASADriver;FireDACTDataDriver;FMXTee;soaprtl;DbxCommonDriver;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;FireDACDSDriver;rtl;DbxClientDriver;DBXSybaseASADriver;CustomIPTransport;bindcomp;DBXInformixDriver;ClassBrowsing;IndyIPClient;dbxcds;FireDACODBCDriver;RadiantShapesFmx_Design;DataSnapIndy10ServerTransport;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;inetdbxpress;FireDACMongoDBDriver;DataSnapServerMidas;$(DCC_UsePackage)
216 | CFBundleName=$(MSBuildProjectName);CFBundleDisplayName=$(MSBuildProjectName);CFBundleIdentifier=$(MSBuildProjectName);CFBundleVersion=1.0.0;CFBundleShortVersionString=1.0.0;CFBundlePackageType=APPL;CFBundleSignature=????;CFBundleAllowMixedLocalizations=YES;CFBundleExecutable=$(MSBuildProjectName);NSHighResolutionCapable=true;LSApplicationCategoryType=public.app-category.utilities;NSLocationUsageDescription=The reason for accessing the location information of the user;NSContactsUsageDescription=The reason for accessing the contacts;NSCalendarsUsageDescription=The reason for accessing the calendar data;NSRemindersUsageDescription=The reason for accessing the reminders;NSCameraUsageDescription=The reason for accessing the camera;NSMicrophoneUsageDescription=The reason for accessing the microphone;NSMotionUsageDescription=The reason for accessing the accelerometer;NSDesktopFolderUsageDescription=The reason for accessing the Desktop folder;NSDocumentsFolderUsageDescription=The reason for accessing the Documents folder;NSDownloadsFolderUsageDescription=The reason for accessing the Downloads folder;NSNetworkVolumesUsageDescription=The reason for accessing files on a network volume;NSRemovableVolumesUsageDescription=The reason for accessing files on a removable volume;NSSpeechRecognitionUsageDescription=The reason for requesting to send user data to Apple's speech recognition servers
217 | Debug
218 | true
219 |
220 |
221 | DBXSqliteDriver;RESTComponents;fmxase;DBXDb2Driver;DBXInterBaseDriver;vclactnband;vclFireDAC;TMSmCLPkgDXE12;emsclientfiredac;TMSiCLPkgDXE12;tethering;svnui;DataSnapFireDAC;FireDACADSDriver;DBXMSSQLDriver;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;vcltouch;vcldb;bindcompfmx;svn;TMSWEBCorePkgLibDXE12;DBXOracleDriver;inetdb;TMSFMXCloudPackPkgDEDXE12;FmxTeeUI;emsedge;fmx;FireDACIBDriver;fmxdae;RadiantShapesFmx;FireDACDBXDriver;dbexpress;IndyCore;vclx;dsnap;emsclient;DataSnapCommon;FireDACCommon;RESTBackendComponents;DataSnapConnectors;VCLRESTComponents;soapserver;TMSLoggingPkgFMXDXE12;SampleListViewRatingsAppearancePackage;vclie;bindengine;DBXMySQLDriver;CloudService;FireDACOracleDriver;FireDACMySQLDriver;DBXFirebirdDriver;CData.Salesforce.D26;FireDACCommonODBC;FireDACCommonDriver;TMSFMXWebGMapsPkgDXE12;DataSnapClient;inet;IndyIPCommon;bindcompdbx;vcl;IndyIPServer;DBXSybaseASEDriver;TMSFMXCloudPackPkgDXE12;IndySystem;FireDACDb2Driver;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;TeeDB;FireDAC;TMSFMXChartPkgDXE12;emshosting;FireDACSqliteDriver;FireDACPgDriver;FireDACASADriver;DBXOdbcDriver;FireDACTDataDriver;FMXTee;soaprtl;DbxCommonDriver;Tee;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;vclwinx;FireDACDSDriver;rtl;emsserverresource;DbxClientDriver;DBXSybaseASADriver;CustomIPTransport;vcldsnap;SynEditDR;bindcomp;appanalytics;fgx;DBXInformixDriver;ClassBrowsing;TMSLoggingPkgVCLDXE12;IndyIPClient;TMSWEBCorePkgDXE12;bindcompvcl;TMSLoggingPkgCoreDXE12;TeeUI;dbxcds;VclSmp;TMSFMXPackPkgDXE12;adortl;FireDACODBCDriver;RadiantShapesFmx_Design;DataSnapIndy10ServerTransport;TMSFMXWebOSMapsPkgDXE12;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;inetdbxpress;FireDACMongoDBDriver;DataSnapServerMidas;$(DCC_UsePackage)
222 | Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace)
223 | Debug
224 | true
225 | CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=
226 | 1033
227 | $(BDS)\bin\default_app.manifest
228 | $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png
229 | $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png
230 |
231 |
232 | DBXSqliteDriver;RESTComponents;fmxase;DBXDb2Driver;DBXInterBaseDriver;vclactnband;vclFireDAC;emsclientfiredac;tethering;DataSnapFireDAC;FireDACADSDriver;DBXMSSQLDriver;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;vcltouch;vcldb;bindcompfmx;DBXOracleDriver;inetdb;FmxTeeUI;emsedge;fmx;FireDACIBDriver;fmxdae;RadiantShapesFmx;FireDACDBXDriver;dbexpress;IndyCore;vclx;dsnap;emsclient;DataSnapCommon;FireDACCommon;RESTBackendComponents;DataSnapConnectors;VCLRESTComponents;soapserver;TMSLoggingPkgFMXDXE12;vclie;bindengine;DBXMySQLDriver;CloudService;FireDACOracleDriver;FireDACMySQLDriver;DBXFirebirdDriver;CData.Salesforce.D26;FireDACCommonODBC;FireDACCommonDriver;DataSnapClient;inet;IndyIPCommon;bindcompdbx;vcl;IndyIPServer;DBXSybaseASEDriver;IndySystem;FireDACDb2Driver;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;TeeDB;FireDAC;emshosting;FireDACSqliteDriver;FireDACPgDriver;FireDACASADriver;DBXOdbcDriver;FireDACTDataDriver;FMXTee;soaprtl;DbxCommonDriver;Tee;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;vclwinx;FireDACDSDriver;rtl;emsserverresource;DbxClientDriver;DBXSybaseASADriver;CustomIPTransport;vcldsnap;SynEditDR;bindcomp;appanalytics;DBXInformixDriver;TMSLoggingPkgVCLDXE12;IndyIPClient;bindcompvcl;TMSLoggingPkgCoreDXE12;TeeUI;dbxcds;VclSmp;adortl;FireDACODBCDriver;RadiantShapesFmx_Design;DataSnapIndy10ServerTransport;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;inetdbxpress;FireDACMongoDBDriver;DataSnapServerMidas;$(DCC_UsePackage)
233 | Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;$(DCC_Namespace)
234 | Debug
235 | true
236 | CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=
237 | 1033
238 | $(BDS)\bin\default_app.manifest
239 | $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png
240 | $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png
241 |
242 |
243 | DEBUG;$(DCC_Define)
244 | true
245 | false
246 | true
247 | true
248 | true
249 |
250 |
251 | false
252 | true
253 | PerMonitorV2
254 |
255 |
256 | true
257 | PerMonitorV2
258 |
259 |
260 | false
261 | RELEASE;$(DCC_Define)
262 | 0
263 | 0
264 |
265 |
266 | $(BDS)\bin\Artwork\iOS\iPhone\FM_NotificationIcon_60x60.png
267 | $(BDS)\bin\Artwork\iOS\iPhone\FM_SettingIcon_87x87.png
268 | $(BDS)\bin\Artwork\iOS\iPhone\FM_NotificationIcon_40x40.png
269 | $(BDS)\bin\Artwork\iOS\iPhone\FM_SettingIcon_58x58.png
270 | $(BDS)\bin\Artwork\iOS\iPad\FM_NotificationIcon_40x40.png
271 |
272 |
273 | $(BDS)\bin\Artwork\iOS\iPhone\FM_NotificationIcon_60x60.png
274 | $(BDS)\bin\Artwork\iOS\iPhone\FM_SettingIcon_87x87.png
275 | $(BDS)\bin\Artwork\iOS\iPhone\FM_NotificationIcon_40x40.png
276 | $(BDS)\bin\Artwork\iOS\iPhone\FM_SettingIcon_58x58.png
277 | $(BDS)\bin\Artwork\iOS\iPad\FM_NotificationIcon_40x40.png
278 |
279 |
280 | true
281 | PerMonitorV2
282 |
283 |
284 | true
285 | PerMonitorV2
286 |
287 |
288 |
289 | MainSource
290 |
291 |
292 |
293 | fmx
294 |
295 |
296 | Cfg_2
297 | Base
298 |
299 |
300 | Base
301 |
302 |
303 | Cfg_1
304 | Base
305 |
306 |
307 |
308 | Delphi.Personality.12
309 | Application
310 |
311 |
312 |
313 | DelphiParallelBuild.dpr
314 |
315 |
316 |
317 |
318 |
319 | true
320 |
321 |
322 |
323 |
324 | true
325 |
326 |
327 |
328 |
329 | true
330 |
331 |
332 |
333 |
334 | DelphiParallelBuild.exe
335 | true
336 |
337 |
338 |
339 |
340 | DelphiParallelBuild.exe
341 | true
342 |
343 |
344 |
345 |
346 | 1
347 |
348 |
349 | Contents\MacOS
350 | 1
351 |
352 |
353 | 0
354 |
355 |
356 |
357 |
358 | classes
359 | 1
360 |
361 |
362 | classes
363 | 1
364 |
365 |
366 |
367 |
368 | res\xml
369 | 1
370 |
371 |
372 | res\xml
373 | 1
374 |
375 |
376 |
377 |
378 | library\lib\armeabi-v7a
379 | 1
380 |
381 |
382 |
383 |
384 | library\lib\armeabi
385 | 1
386 |
387 |
388 | library\lib\armeabi
389 | 1
390 |
391 |
392 |
393 |
394 | library\lib\armeabi-v7a
395 | 1
396 |
397 |
398 |
399 |
400 | library\lib\mips
401 | 1
402 |
403 |
404 | library\lib\mips
405 | 1
406 |
407 |
408 |
409 |
410 | library\lib\armeabi-v7a
411 | 1
412 |
413 |
414 | library\lib\arm64-v8a
415 | 1
416 |
417 |
418 |
419 |
420 | library\lib\armeabi-v7a
421 | 1
422 |
423 |
424 |
425 |
426 | res\drawable
427 | 1
428 |
429 |
430 | res\drawable
431 | 1
432 |
433 |
434 |
435 |
436 | res\values
437 | 1
438 |
439 |
440 | res\values
441 | 1
442 |
443 |
444 |
445 |
446 | res\values-v21
447 | 1
448 |
449 |
450 | res\values-v21
451 | 1
452 |
453 |
454 |
455 |
456 | res\values
457 | 1
458 |
459 |
460 | res\values
461 | 1
462 |
463 |
464 |
465 |
466 | res\drawable
467 | 1
468 |
469 |
470 | res\drawable
471 | 1
472 |
473 |
474 |
475 |
476 | res\drawable-xxhdpi
477 | 1
478 |
479 |
480 | res\drawable-xxhdpi
481 | 1
482 |
483 |
484 |
485 |
486 | res\drawable-ldpi
487 | 1
488 |
489 |
490 | res\drawable-ldpi
491 | 1
492 |
493 |
494 |
495 |
496 | res\drawable-mdpi
497 | 1
498 |
499 |
500 | res\drawable-mdpi
501 | 1
502 |
503 |
504 |
505 |
506 | res\drawable-hdpi
507 | 1
508 |
509 |
510 | res\drawable-hdpi
511 | 1
512 |
513 |
514 |
515 |
516 | res\drawable-xhdpi
517 | 1
518 |
519 |
520 | res\drawable-xhdpi
521 | 1
522 |
523 |
524 |
525 |
526 | res\drawable-mdpi
527 | 1
528 |
529 |
530 | res\drawable-mdpi
531 | 1
532 |
533 |
534 |
535 |
536 | res\drawable-hdpi
537 | 1
538 |
539 |
540 | res\drawable-hdpi
541 | 1
542 |
543 |
544 |
545 |
546 | res\drawable-xhdpi
547 | 1
548 |
549 |
550 | res\drawable-xhdpi
551 | 1
552 |
553 |
554 |
555 |
556 | res\drawable-xxhdpi
557 | 1
558 |
559 |
560 | res\drawable-xxhdpi
561 | 1
562 |
563 |
564 |
565 |
566 | res\drawable-xxxhdpi
567 | 1
568 |
569 |
570 | res\drawable-xxxhdpi
571 | 1
572 |
573 |
574 |
575 |
576 | res\drawable-small
577 | 1
578 |
579 |
580 | res\drawable-small
581 | 1
582 |
583 |
584 |
585 |
586 | res\drawable-normal
587 | 1
588 |
589 |
590 | res\drawable-normal
591 | 1
592 |
593 |
594 |
595 |
596 | res\drawable-large
597 | 1
598 |
599 |
600 | res\drawable-large
601 | 1
602 |
603 |
604 |
605 |
606 | res\drawable-xlarge
607 | 1
608 |
609 |
610 | res\drawable-xlarge
611 | 1
612 |
613 |
614 |
615 |
616 | res\values
617 | 1
618 |
619 |
620 | res\values
621 | 1
622 |
623 |
624 |
625 |
626 | 1
627 |
628 |
629 | Contents\MacOS
630 | 1
631 |
632 |
633 | 0
634 |
635 |
636 |
637 |
638 | Contents\MacOS
639 | 1
640 | .framework
641 |
642 |
643 | Contents\MacOS
644 | 1
645 | .framework
646 |
647 |
648 | 0
649 |
650 |
651 |
652 |
653 | 1
654 | .dylib
655 |
656 |
657 | 1
658 | .dylib
659 |
660 |
661 | 1
662 | .dylib
663 |
664 |
665 | Contents\MacOS
666 | 1
667 | .dylib
668 |
669 |
670 | Contents\MacOS
671 | 1
672 | .dylib
673 |
674 |
675 | 0
676 | .dll;.bpl
677 |
678 |
679 |
680 |
681 | 1
682 | .dylib
683 |
684 |
685 | 1
686 | .dylib
687 |
688 |
689 | 1
690 | .dylib
691 |
692 |
693 | Contents\MacOS
694 | 1
695 | .dylib
696 |
697 |
698 | Contents\MacOS
699 | 1
700 | .dylib
701 |
702 |
703 | 0
704 | .bpl
705 |
706 |
707 |
708 |
709 | 0
710 |
711 |
712 | 0
713 |
714 |
715 | 0
716 |
717 |
718 | 0
719 |
720 |
721 | 0
722 |
723 |
724 | Contents\Resources\StartUp\
725 | 0
726 |
727 |
728 | Contents\Resources\StartUp\
729 | 0
730 |
731 |
732 | 0
733 |
734 |
735 |
736 |
737 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
738 | 1
739 |
740 |
741 |
742 |
743 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
744 | 1
745 |
746 |
747 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
748 | 1
749 |
750 |
751 |
752 |
753 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
754 | 1
755 |
756 |
757 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
758 | 1
759 |
760 |
761 |
762 |
763 | 1
764 |
765 |
766 | 1
767 |
768 |
769 | 1
770 |
771 |
772 |
773 |
774 | 1
775 |
776 |
777 | 1
778 |
779 |
780 | 1
781 |
782 |
783 |
784 |
785 | 1
786 |
787 |
788 | 1
789 |
790 |
791 | 1
792 |
793 |
794 |
795 |
796 | 1
797 |
798 |
799 | 1
800 |
801 |
802 | 1
803 |
804 |
805 |
806 |
807 | 1
808 |
809 |
810 | 1
811 |
812 |
813 | 1
814 |
815 |
816 |
817 |
818 | 1
819 |
820 |
821 | 1
822 |
823 |
824 | 1
825 |
826 |
827 |
828 |
829 | 1
830 |
831 |
832 | 1
833 |
834 |
835 | 1
836 |
837 |
838 |
839 |
840 | 1
841 |
842 |
843 | 1
844 |
845 |
846 | 1
847 |
848 |
849 |
850 |
851 | 1
852 |
853 |
854 | 1
855 |
856 |
857 | 1
858 |
859 |
860 |
861 |
862 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
863 | 1
864 |
865 |
866 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
867 | 1
868 |
869 |
870 |
871 |
872 | 1
873 |
874 |
875 | 1
876 |
877 |
878 | 1
879 |
880 |
881 |
882 |
883 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
884 | 1
885 |
886 |
887 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
888 | 1
889 |
890 |
891 |
892 |
893 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
894 | 1
895 |
896 |
897 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
898 | 1
899 |
900 |
901 |
902 |
903 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
904 | 1
905 |
906 |
907 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
908 | 1
909 |
910 |
911 |
912 |
913 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
914 | 1
915 |
916 |
917 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
918 | 1
919 |
920 |
921 |
922 |
923 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
924 | 1
925 |
926 |
927 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
928 | 1
929 |
930 |
931 |
932 |
933 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
934 | 1
935 |
936 |
937 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
938 | 1
939 |
940 |
941 |
942 |
943 | 1
944 |
945 |
946 | 1
947 |
948 |
949 | 1
950 |
951 |
952 |
953 |
954 | 1
955 |
956 |
957 | 1
958 |
959 |
960 | 1
961 |
962 |
963 |
964 |
965 | 1
966 |
967 |
968 | 1
969 |
970 |
971 | 1
972 |
973 |
974 |
975 |
976 | 1
977 |
978 |
979 | 1
980 |
981 |
982 | 1
983 |
984 |
985 |
986 |
987 | 1
988 |
989 |
990 | 1
991 |
992 |
993 | 1
994 |
995 |
996 |
997 |
998 | 1
999 |
1000 |
1001 | 1
1002 |
1003 |
1004 | 1
1005 |
1006 |
1007 |
1008 |
1009 | 1
1010 |
1011 |
1012 | 1
1013 |
1014 |
1015 | 1
1016 |
1017 |
1018 |
1019 |
1020 | 1
1021 |
1022 |
1023 | 1
1024 |
1025 |
1026 | 1
1027 |
1028 |
1029 |
1030 |
1031 | 1
1032 |
1033 |
1034 | 1
1035 |
1036 |
1037 | 1
1038 |
1039 |
1040 |
1041 |
1042 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
1043 | 1
1044 |
1045 |
1046 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
1047 | 1
1048 |
1049 |
1050 |
1051 |
1052 | 1
1053 |
1054 |
1055 | 1
1056 |
1057 |
1058 | 1
1059 |
1060 |
1061 |
1062 |
1063 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
1064 | 1
1065 |
1066 |
1067 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
1068 | 1
1069 |
1070 |
1071 |
1072 |
1073 | 1
1074 |
1075 |
1076 | 1
1077 |
1078 |
1079 | 1
1080 |
1081 |
1082 |
1083 |
1084 | 1
1085 |
1086 |
1087 | 1
1088 |
1089 |
1090 | 1
1091 |
1092 |
1093 |
1094 |
1095 | 1
1096 |
1097 |
1098 | 1
1099 |
1100 |
1101 | 1
1102 |
1103 |
1104 |
1105 |
1106 | 1
1107 |
1108 |
1109 | 1
1110 |
1111 |
1112 | 1
1113 |
1114 |
1115 |
1116 |
1117 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
1118 | 1
1119 |
1120 |
1121 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
1122 | 1
1123 |
1124 |
1125 |
1126 |
1127 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
1128 | 1
1129 |
1130 |
1131 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
1132 | 1
1133 |
1134 |
1135 |
1136 |
1137 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1138 | 1
1139 |
1140 |
1141 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1142 | 1
1143 |
1144 |
1145 |
1146 |
1147 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1148 | 1
1149 |
1150 |
1151 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1152 | 1
1153 |
1154 |
1155 |
1156 |
1157 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1158 | 1
1159 |
1160 |
1161 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1162 | 1
1163 |
1164 |
1165 |
1166 |
1167 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1168 | 1
1169 |
1170 |
1171 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1172 | 1
1173 |
1174 |
1175 |
1176 |
1177 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1178 | 1
1179 |
1180 |
1181 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1182 | 1
1183 |
1184 |
1185 |
1186 |
1187 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1188 | 1
1189 |
1190 |
1191 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1192 | 1
1193 |
1194 |
1195 |
1196 |
1197 | 1
1198 |
1199 |
1200 | 1
1201 |
1202 |
1203 |
1204 |
1205 | ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF
1206 | 1
1207 |
1208 |
1209 | ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF
1210 | 1
1211 |
1212 |
1213 |
1214 |
1215 | 1
1216 |
1217 |
1218 | 1
1219 |
1220 |
1221 |
1222 |
1223 | ..\
1224 | 1
1225 |
1226 |
1227 | ..\
1228 | 1
1229 |
1230 |
1231 |
1232 |
1233 | 1
1234 |
1235 |
1236 | 1
1237 |
1238 |
1239 | 1
1240 |
1241 |
1242 |
1243 |
1244 | ..\$(PROJECTNAME).launchscreen
1245 | 64
1246 |
1247 |
1248 | ..\$(PROJECTNAME).launchscreen
1249 | 64
1250 |
1251 |
1252 |
1253 |
1254 | 1
1255 |
1256 |
1257 | 1
1258 |
1259 |
1260 | 1
1261 |
1262 |
1263 |
1264 |
1265 | ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF
1266 | 1
1267 |
1268 |
1269 |
1270 |
1271 | ..\
1272 | 1
1273 |
1274 |
1275 | ..\
1276 | 1
1277 |
1278 |
1279 |
1280 |
1281 | Contents
1282 | 1
1283 |
1284 |
1285 | Contents
1286 | 1
1287 |
1288 |
1289 |
1290 |
1291 | Contents\Resources
1292 | 1
1293 |
1294 |
1295 | Contents\Resources
1296 | 1
1297 |
1298 |
1299 |
1300 |
1301 | library\lib\armeabi-v7a
1302 | 1
1303 |
1304 |
1305 | library\lib\arm64-v8a
1306 | 1
1307 |
1308 |
1309 | 1
1310 |
1311 |
1312 | 1
1313 |
1314 |
1315 | 1
1316 |
1317 |
1318 | 1
1319 |
1320 |
1321 | Contents\MacOS
1322 | 1
1323 |
1324 |
1325 | Contents\MacOS
1326 | 1
1327 |
1328 |
1329 | 0
1330 |
1331 |
1332 |
1333 |
1334 | library\lib\armeabi-v7a
1335 | 1
1336 |
1337 |
1338 |
1339 |
1340 | 1
1341 |
1342 |
1343 | 1
1344 |
1345 |
1346 |
1347 |
1348 | Assets
1349 | 1
1350 |
1351 |
1352 | Assets
1353 | 1
1354 |
1355 |
1356 |
1357 |
1358 | Assets
1359 | 1
1360 |
1361 |
1362 | Assets
1363 | 1
1364 |
1365 |
1366 |
1367 |
1368 |
1369 |
1370 |
1371 |
1372 |
1373 |
1374 |
1375 |
1376 |
1377 |
1378 | True
1379 | True
1380 | True
1381 | True
1382 | True
1383 | True
1384 | True
1385 |
1386 |
1387 | 12
1388 |
1389 |
1390 |
1391 |
1392 |
1393 |
--------------------------------------------------------------------------------