Hi,
I see now, FBuildTarget.CompilerOptions.GetEffectiveLCLWidgetType is never
called. Result depends on parameter LCLWidgetType of function
TBuildManager.SetBuildTarget().
This code:
procedure TMainIDE.mnuToolConfigBuildLazClicked(Sender: TObject);
var
...
begin
//if ToolStatus<>itNone then exit;
if fBuilder=Nil then
fBuilder:=TLazarusBuilder.Create; // Will be freed in the very end.
MainBuildBoss.SetBuildTargetIDE;
try
DlgResult:=fBuilder.ShowConfigureBuildLazarusDlg(MiscellaneousOptions.BuildLazProfiles);
finally
MainBuildBoss.SetBuildTargetProject1(true);
end;
SetBuildTargetIDE calls SetBuildTarget with correct parameters but in turn in
finally section SetBuildTargetProject1 calls:
SetBuildTarget('','','',ScanFPCSrc,Quiet); //note that empty strings
It later calls:
function GetDefaultLCLWidgetType: TLCLPlatform;
begin
if (WidgetSet<>nil) and (WidgetSet.LCLPlatform<>lpNoGUI) then
Result:=WidgetSet.LCLPlatform
else
Result:=BuildLCLWidgetType;
end;
where WidgetSet is always assigned and Result is always gtk2.
V.
______________________________________________________________
Od: Mattias Gaertner via Lazarus <[email protected]>
Komu: [email protected]
Datum: 05.01.2018 13:11
Předmět: Re: [Lazarus] Rebuilding IDE Gtk/Qt
On Fri, 05 Jan 2018 02:59:56 +0100
Vojtěch Čihák via Lazarus <[email protected]> wrote:
> I found the reason but to make a patch is beyond my powers.
> When I used the steps described below, I got this in console:
>[...]is unchangedThe changes come from method
MainBuildBoss.SetBuildTargetProject1 which is called several times in main.pp,
mainly in TMainIDE.mnuToolConfigBuildLazClicked at line 4595.
Yes, these are the switches between project and IDE settings.
> It calls TBuildManager.SetBuildTarget and nested function GetEffectiveLCLWidgetType
where is line: Result:=FBuildTarget.CompilerOptions.GetEffectiveLCLWidgetTypeIt is probably
the reason why combobox in "Configure Build Lazarus" is ignored and is replaced by
value from Compiler Options.
No, when building the IDE the FBuildTarget is nil.
See TBuildManager.SetBuildTargetIDE.
Please start the IDE with -v -v to get more output.
Mattias
--
_______________________________________________
Lazarus mailing list
[email protected]
https://lists.lazarus-ide.org/listinfo/lazarus
<https://lists.lazarus-ide.org/listinfo/lazarus>
--
_______________________________________________
Lazarus mailing list
[email protected]
https://lists.lazarus-ide.org/listinfo/lazarus