mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-18 21:59:14 +02:00
IDE: fixed updating BuildTarget when rescanning FPC sources
git-svn-id: trunk@14341 -
This commit is contained in:
parent
0840e778f1
commit
3d96887a31
@ -122,7 +122,7 @@ type
|
|||||||
function GetTargetUnitFilename(AnUnitInfo: TUnitInfo): string; override;
|
function GetTargetUnitFilename(AnUnitInfo: TUnitInfo): string; override;
|
||||||
|
|
||||||
procedure GetFPCCompilerParamsForEnvironmentTest(out Params: string);
|
procedure GetFPCCompilerParamsForEnvironmentTest(out Params: string);
|
||||||
procedure RescanCompilerDefines(OnlyIfCompilerChanged: boolean);
|
procedure RescanCompilerDefines(ResetBuildTarget, OnlyIfCompilerChanged: boolean);
|
||||||
property ScanningCompilerDisabled: boolean read FScanningCompilerDisabled
|
property ScanningCompilerDisabled: boolean read FScanningCompilerDisabled
|
||||||
write FScanningCompilerDisabled;
|
write FScanningCompilerDisabled;
|
||||||
|
|
||||||
@ -136,7 +136,8 @@ type
|
|||||||
function BackupFile(const Filename: string): TModalResult; override;
|
function BackupFile(const Filename: string): TModalResult; override;
|
||||||
|
|
||||||
// methods for building
|
// methods for building
|
||||||
procedure SetBuildTarget(const TargetOS, TargetCPU, LCLWidgetType: string);
|
procedure SetBuildTarget(const TargetOS, TargetCPU, LCLWidgetType: string;
|
||||||
|
DoNotScanFPCSrc: boolean = false);
|
||||||
procedure SetBuildTargetIDE;
|
procedure SetBuildTargetIDE;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -449,7 +450,8 @@ begin
|
|||||||
Params:=AddCmdLineParameter(Params,'-P'+CurTargetCPU);
|
Params:=AddCmdLineParameter(Params,'-P'+CurTargetCPU);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TBuildManager.RescanCompilerDefines(OnlyIfCompilerChanged: boolean);
|
procedure TBuildManager.RescanCompilerDefines(ResetBuildTarget,
|
||||||
|
OnlyIfCompilerChanged: boolean);
|
||||||
var
|
var
|
||||||
CompilerTemplate, FPCSrcTemplate: TDefineTemplate;
|
CompilerTemplate, FPCSrcTemplate: TDefineTemplate;
|
||||||
CompilerUnitSearchPath, CompilerUnitLinks: string;
|
CompilerUnitSearchPath, CompilerUnitLinks: string;
|
||||||
@ -465,6 +467,9 @@ var
|
|||||||
|
|
||||||
begin
|
begin
|
||||||
if ScanningCompilerDisabled then exit;
|
if ScanningCompilerDisabled then exit;
|
||||||
|
if ResetBuildTarget then
|
||||||
|
SetBuildTarget('','','',true);
|
||||||
|
|
||||||
GetFPCCompilerParamsForEnvironmentTest(CurOptions);
|
GetFPCCompilerParamsForEnvironmentTest(CurOptions);
|
||||||
{$IFDEF VerboseFPCSrcScan}
|
{$IFDEF VerboseFPCSrcScan}
|
||||||
debugln(['TMainIDE.RescanCompilerDefines A ',CurOptions,
|
debugln(['TMainIDE.RescanCompilerDefines A ',CurOptions,
|
||||||
@ -1178,7 +1183,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TBuildManager.SetBuildTarget(const TargetOS, TargetCPU,
|
procedure TBuildManager.SetBuildTarget(const TargetOS, TargetCPU,
|
||||||
LCLWidgetType: string);
|
LCLWidgetType: string; DoNotScanFPCSrc: boolean);
|
||||||
var
|
var
|
||||||
OldTargetOS: String;
|
OldTargetOS: String;
|
||||||
OldTargetCPU: String;
|
OldTargetCPU: String;
|
||||||
@ -1208,8 +1213,8 @@ begin
|
|||||||
|
|
||||||
if LCLTargetChanged then
|
if LCLTargetChanged then
|
||||||
CodeToolBoss.SetGlobalValue(ExternalMacroStart+'LCLWidgetType',NewLCLWidgetType);
|
CodeToolBoss.SetGlobalValue(ExternalMacroStart+'LCLWidgetType',NewLCLWidgetType);
|
||||||
if FPCTargetChanged then
|
if FPCTargetChanged and (not DoNotScanFPCSrc) then
|
||||||
RescanCompilerDefines(true);
|
RescanCompilerDefines(false,true);
|
||||||
|
|
||||||
if FPCTargetChanged or LCLTargetChanged then begin
|
if FPCTargetChanged or LCLTargetChanged then begin
|
||||||
IncreaseCompilerParseStamp;
|
IncreaseCompilerParseStamp;
|
||||||
|
15
ide/main.pp
15
ide/main.pp
@ -3521,7 +3521,7 @@ begin
|
|||||||
frmCompilerOptions.OnTest:=@OnCompilerOptionsDialogTest;
|
frmCompilerOptions.OnTest:=@OnCompilerOptionsDialogTest;
|
||||||
frmCompilerOptions.OnImExportCompilerOptions:=@OnCompilerOptionsImExport;
|
frmCompilerOptions.OnImExportCompilerOptions:=@OnCompilerOptionsImExport;
|
||||||
if frmCompilerOptions.ShowModal=mrOk then begin
|
if frmCompilerOptions.ShowModal=mrOk then begin
|
||||||
MainBuildBoss.RescanCompilerDefines(true);
|
MainBuildBoss.RescanCompilerDefines(true,true);
|
||||||
Project1.DefineTemplates.AllChanged;
|
Project1.DefineTemplates.AllChanged;
|
||||||
IncreaseCompilerParseStamp;
|
IncreaseCompilerParseStamp;
|
||||||
end;
|
end;
|
||||||
@ -3548,7 +3548,7 @@ begin
|
|||||||
frmCompilerOptions.OnTest:=@OnCompilerOptionsDialogTest;
|
frmCompilerOptions.OnTest:=@OnCompilerOptionsDialogTest;
|
||||||
frmCompilerOptions.OnImExportCompilerOptions:=@OnCompilerOptionsImExport;
|
frmCompilerOptions.OnImExportCompilerOptions:=@OnCompilerOptionsImExport;
|
||||||
if frmCompilerOptions.ShowModal=mrOk then begin
|
if frmCompilerOptions.ShowModal=mrOk then begin
|
||||||
MainBuildBoss.RescanCompilerDefines(true);
|
MainBuildBoss.RescanCompilerDefines(true,true);
|
||||||
Project1.DefineTemplates.AllChanged;
|
Project1.DefineTemplates.AllChanged;
|
||||||
IncreaseCompilerParseStamp;
|
IncreaseCompilerParseStamp;
|
||||||
end;
|
end;
|
||||||
@ -3893,7 +3893,7 @@ begin
|
|||||||
|
|
||||||
if MacroValueChanged then CodeToolBoss.DefineTree.ClearCache;
|
if MacroValueChanged then CodeToolBoss.DefineTree.ClearCache;
|
||||||
if FPCCompilerChanged or FPCSrcDirChanged then begin
|
if FPCCompilerChanged or FPCSrcDirChanged then begin
|
||||||
MainBuildBoss.RescanCompilerDefines(false);
|
MainBuildBoss.RescanCompilerDefines(true,false);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
// save to disk
|
// save to disk
|
||||||
@ -4055,7 +4055,7 @@ Begin
|
|||||||
|
|
||||||
if MacroValueChanged then CodeToolBoss.DefineTree.ClearCache;
|
if MacroValueChanged then CodeToolBoss.DefineTree.ClearCache;
|
||||||
if FPCCompilerChanged or FPCSrcDirChanged then begin
|
if FPCCompilerChanged or FPCSrcDirChanged then begin
|
||||||
MainBuildBoss.RescanCompilerDefines(false);
|
MainBuildBoss.RescanCompilerDefines(true,false);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
// save to disk
|
// save to disk
|
||||||
@ -4130,7 +4130,7 @@ end;
|
|||||||
|
|
||||||
procedure TMainIDE.mnuEnvRescanFPCSrcDirClicked(Sender: TObject);
|
procedure TMainIDE.mnuEnvRescanFPCSrcDirClicked(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
MainBuildBoss.RescanCompilerDefines(false);
|
MainBuildBoss.RescanCompilerDefines(true,false);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TMainIDE.SaveEnvironment;
|
procedure TMainIDE.SaveEnvironment;
|
||||||
@ -6264,8 +6264,7 @@ begin
|
|||||||
UpdateCaption;
|
UpdateCaption;
|
||||||
EnvironmentOptions.LastSavedProjectFile:=Project1.ProjectInfoFile;
|
EnvironmentOptions.LastSavedProjectFile:=Project1.ProjectInfoFile;
|
||||||
EnvironmentOptions.Save(false);
|
EnvironmentOptions.Save(false);
|
||||||
MainBuildBoss.SetBuildTarget('','','');
|
MainBuildBoss.RescanCompilerDefines(true,true);
|
||||||
MainBuildBoss.RescanCompilerDefines(true);
|
|
||||||
|
|
||||||
// load required packages
|
// load required packages
|
||||||
PkgBoss.OpenProjectDependencies(Project1,true);
|
PkgBoss.OpenProjectDependencies(Project1,true);
|
||||||
@ -7600,7 +7599,7 @@ Begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
// rebuild codetools defines
|
// rebuild codetools defines
|
||||||
MainBuildBoss.RescanCompilerDefines(true);
|
MainBuildBoss.RescanCompilerDefines(true,true);
|
||||||
// (i.e. remove old project specific things and create new)
|
// (i.e. remove old project specific things and create new)
|
||||||
IncreaseCompilerParseStamp;
|
IncreaseCompilerParseStamp;
|
||||||
Project1.DefineTemplates.AllChanged;
|
Project1.DefineTemplates.AllChanged;
|
||||||
|
Loading…
Reference in New Issue
Block a user