IDE: install a package and cancel rebuild: fixed saving idemake.cfg

git-svn-id: trunk@48250 -
This commit is contained in:
mattias 2015-03-10 21:06:36 +00:00
parent 0ee7878d79
commit e3aeb5a845
4 changed files with 115 additions and 99 deletions

View File

@ -47,6 +47,11 @@ type
destructor Destroy; override;
property HasGUI: boolean read FHasGUI write FHasGUI;
// methods for building IDE (will be changed when project groups are there)
procedure SetBuildTargetProject1; virtual; abstract;
procedure SetBuildTargetIDE; virtual; abstract;
function BuildTargetIDEIsDefault: boolean; virtual; abstract;
function GetBuildMacroOverride(const MacroName: string): string; virtual; abstract;
function GetBuildMacroOverrides: TStrings; virtual; abstract;
function GetTargetOS: string; virtual; abstract;

View File

@ -223,10 +223,10 @@ type
// methods for building IDE (will be changed when project groups are there)
procedure SetBuildTarget(const TargetOS, TargetCPU, LCLWidgetType: string;
ScanFPCSrc: TScanModeFPCSources; Quiet: boolean);
procedure SetBuildTargetProject1(Quiet: boolean;
ScanFPCSrc: TScanModeFPCSources = smsfsBackground);
procedure SetBuildTargetIDE;
function BuildTargetIDEIsDefault: boolean;
procedure SetBuildTargetProject1; override; overload;
procedure SetBuildTargetProject1(Quiet: boolean; ScanFPCSrc: TScanModeFPCSources = smsfsBackground); overload;
procedure SetBuildTargetIDE; override;
function BuildTargetIDEIsDefault: boolean; override;
property FPCSrcScans: TFPCSrcScans read FFPCSrcScans;
property BuildTarget: TObject read FBuildTarget; // TProject or nil
@ -2642,6 +2642,11 @@ begin
//if (PackageGraph<>nil) and (PackageGraph.CodeToolsPackage<>nil) then debugln(['TBuildManager.SetBuildTarget CODETOOLS OUTDIR=',PackageGraph.CodeToolsPackage.CompilerOptions.GetUnitOutPath(true,coptParsed),' ',PackageGraph.CodeToolsPackage.CompilerOptions.ParsedOpts.ParsedStamp[pcosOutputDir],' ',CompilerParseStamp]);
end;
procedure TBuildManager.SetBuildTargetProject1;
begin
SetBuildTargetProject1(true);
end;
procedure TBuildManager.SetBuildTargetProject1(Quiet: boolean;
ScanFPCSrc: TScanModeFPCSources);
begin

View File

@ -7285,7 +7285,6 @@ begin
Builder:=TLazarusBuilder.Create;
try
// prepare static auto install packages
//PkgOptions:='';
// create inherited compiler options
Builder.PackageOptions:=PackageGraph.GetIDEInstallPackageOptions(InheritedOptionStrings{%H-});

View File

@ -5310,9 +5310,13 @@ var
begin
if not MainIDE.DoResetToolStatus([rfInteractive]) then exit(mrCancel);
try
BuildBoss.SetBuildTargetIDE;
PackageGraph.BeginUpdate(true);
PkgList:=nil;
try
// check if package is designtime package
if APackage.PackageType in [lptRunTime,lptRunTimeOnly] then begin
Btns:=[mbAbort];
@ -5416,6 +5420,9 @@ begin
BuildIDEFlags:=[blfDontClean,blfOnlyIDE];
Result:=MainIDE.DoSaveBuildIDEConfigs(BuildIDEFlags);
if Result<>mrOk then exit;
finally
BuildBoss.SetBuildTargetProject1;
end;
// ask user to rebuild Lazarus now
Result:=IDEMessageDialog(lisPkgMangRebuildLazarus,