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