mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-16 02:10:08 +02:00
added options to override OS, CPU and LCLWidgetType form Andrew
git-svn-id: trunk@9840 -
This commit is contained in:
parent
694d469e5e
commit
3e7b2a440d
@ -44,9 +44,12 @@ type
|
||||
private
|
||||
FBuildAll: boolean;
|
||||
FBuildRecursive: boolean;
|
||||
fCPUOverride: String;
|
||||
fOSOverride: String;
|
||||
FSkipDependencies: boolean;
|
||||
fInitialized: boolean;
|
||||
fInitResult: boolean;
|
||||
fWidgetsetOverride: String;
|
||||
// external tools
|
||||
procedure OnExtToolFreeOutputFilter(OutputFilter: TOutputFilter;
|
||||
ErrorOccurred: boolean);
|
||||
@ -109,6 +112,10 @@ type
|
||||
write FBuildRecursive;
|
||||
property SkipDependencies: boolean read FSkipDependencies
|
||||
write FSkipDependencies;
|
||||
property WidgetSetOverride: String read fWidgetsetOverride
|
||||
write fWidgetsetOverride;
|
||||
property OSOverride: String read fOSOverride write fOSOverride;
|
||||
property CPUOverride: String read fCPUOverride write fCPUOverride;
|
||||
end;
|
||||
|
||||
var
|
||||
@ -419,6 +426,22 @@ begin
|
||||
if Project1.MainUnitInfo=nil then
|
||||
Error(ErrorBuildFailed,'project has no main unit');
|
||||
|
||||
if WidgetSetOverride <> '' then begin
|
||||
//WriteLn('Overriding TargetWS=',WidgetSetOverride);
|
||||
Project1.CompilerOptions.LCLWidgetType := WidgetSetOverride;
|
||||
Project1.DefineTemplates.UpdateGlobalValues;
|
||||
end;
|
||||
if OSOverride <> '' then begin
|
||||
//WriteLn('Overriding TargetOS=',OSOverride);
|
||||
Project1.CompilerOptions.TargetOS := OSOverride;
|
||||
end;
|
||||
if CPUOverride <> '' then begin
|
||||
//WriteLn('Overriding TargetCPU=',CPUOverride);
|
||||
Project1.CompilerOptions.TargetCPU := CPUOverride;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
if not SkipDependencies then begin
|
||||
// compile required packages
|
||||
CheckPackageGraphForCompilation(nil,Project1.FirstRequiredDependency);
|
||||
@ -676,7 +699,7 @@ begin
|
||||
If FindLongopt(O) then
|
||||
begin
|
||||
If HaveArg then
|
||||
Result:=Format(lisErrNoOptionAllowed,[I,O])
|
||||
//Result:=Format(lisErrNoOptionAllowed,[I,O]) // stops all longoptions with args from working
|
||||
end
|
||||
else
|
||||
begin // Required argument
|
||||
@ -811,6 +834,11 @@ begin
|
||||
LongOptions.Add('build-all');
|
||||
LongOptions.Add('recursive');
|
||||
LongOptions.Add('skip-dependencies');
|
||||
LongOptions.Add('widgetset');
|
||||
LongOptions.Add('ws');
|
||||
LongOptions.Add('operating-system');
|
||||
LongOptions.Add('os');
|
||||
LongOptions.Add('cpu');
|
||||
ErrorMsg:=RepairedCheckOptions('lBrd',LongOptions,Options,NonOptions);
|
||||
if ErrorMsg<>'' then begin
|
||||
writeln(ErrorMsg);
|
||||
@ -845,6 +873,23 @@ begin
|
||||
BuildRecursive:=true;
|
||||
if HasOption('d','skip-dependencies') then
|
||||
SkipDependencies:=true;
|
||||
|
||||
// overides
|
||||
// widgetset
|
||||
if HasOption('ws') then
|
||||
WidgetSetOverride := GetOptionValue('ws')
|
||||
else if HasOption('widgetset') then
|
||||
WidgetSetOverride := GetOptionValue('widgetset');
|
||||
|
||||
// operating system
|
||||
if HasOption('os') then
|
||||
OSOverride := GetOptionValue('os')
|
||||
else if HasOption('operating-system') then
|
||||
OSOverride := GetOptionValue('operating-system');
|
||||
// cpu
|
||||
if HasOption('cpu') then
|
||||
CPUOverride := GetOptionValue('cpu')
|
||||
|
||||
finally
|
||||
Options.Free;
|
||||
NonOptions.Free;
|
||||
@ -879,6 +924,20 @@ begin
|
||||
writeln(BreakString(space+lissecondaryConfigDirectoryWhereLazarusSearchesFor,
|
||||
75, 22), LazConf.GetSecondaryConfigPath);
|
||||
writeln('');
|
||||
writeln('--operating-system=<operating-system>');
|
||||
writeln('or --os=<operating-system>');
|
||||
writeln(BreakString(space+'override the project operating system. e.g. win32 linux.',
|
||||
75, 22));
|
||||
writeln('');
|
||||
writeln('--widgetset=<widgetset>');
|
||||
writeln('or --ws=<widgetset>');
|
||||
writeln(BreakString(space+'override the project widgetset. e.g. gtk gtk2 qt win32 carbon.',
|
||||
75, 22));
|
||||
writeln('');
|
||||
writeln('--cpu=<cpu>');
|
||||
writeln(BreakString(space+'override the project cpu. e.g. i386 x86_64 powerpc powerpc_64 etc.',
|
||||
75, 22));
|
||||
writeln('');
|
||||
writeln(LanguageOpt);
|
||||
writeln(BreakString(space+lisOverrideLanguage,75, 22));
|
||||
end;
|
||||
|
Loading…
Reference in New Issue
Block a user