mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-06-18 19:48:14 +02:00
IDE: Move sub-functions of CreateIDEMakeOptions into private methods in TLazarusBuilder.
git-svn-id: trunk@44049 -
This commit is contained in:
parent
4228a0acd2
commit
0d30fd1fe1
@ -170,8 +170,11 @@ type
|
||||
procedure CleanAll;
|
||||
procedure CheckRevisionInc;
|
||||
procedure RestoreBackup;
|
||||
// Method used by SaveIDEMakeOptions :
|
||||
// Methods used by SaveIDEMakeOptions :
|
||||
function BreakExtraOptions: string;
|
||||
// Methods used by CreateIDEMakeOptions :
|
||||
procedure BackupExe(Flags: TBuildLazarusFlags);
|
||||
procedure AppendExtraOption(const AddOption: string; EncloseIfSpace: boolean = True);
|
||||
// This is used by MakeLazarus, IsWriteProtected and SaveIDEMakeOptions
|
||||
function CreateIDEMakeOptions(Flags: TBuildLazarusFlags): TModalResult;
|
||||
public
|
||||
@ -513,19 +516,17 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
function TLazarusBuilder.CreateIDEMakeOptions(Flags: TBuildLazarusFlags): TModalResult;
|
||||
|
||||
procedure BackupExe(var ExeFilename: string);
|
||||
var
|
||||
procedure TLazarusBuilder.BackupExe(Flags: TBuildLazarusFlags);
|
||||
var
|
||||
Ext: String;
|
||||
BackupFilename: String;
|
||||
Backup2Filename: String;
|
||||
AltFilename: String;
|
||||
begin
|
||||
if not FileExistsUTF8(ExeFilename) then exit;
|
||||
begin
|
||||
if not FileExistsUTF8(fTargetFilename) then exit;
|
||||
// the exe already exists
|
||||
Ext:=ExtractFileExt(ExeFilename);
|
||||
AltFilename:=LeftStr(ExeFilename,length(ExeFilename)-length(Ext))+'.new'+Ext;
|
||||
Ext:=ExtractFileExt(fTargetFilename);
|
||||
AltFilename:=LeftStr(fTargetFilename,length(fTargetFilename)-length(Ext))+'.new'+Ext;
|
||||
if blfBackupOldExe in Flags then begin
|
||||
// always delete the lazarus.new exe, so that users/startlazarus are not
|
||||
// confused which one is the newest
|
||||
@ -537,14 +538,14 @@ function TLazarusBuilder.CreateIDEMakeOptions(Flags: TBuildLazarusFlags): TModal
|
||||
end;
|
||||
|
||||
// try to rename the old exe
|
||||
BackupFilename:=GetBackupExeFilename(ExeFilename);
|
||||
BackupFilename:=GetBackupExeFilename(fTargetFilename);
|
||||
if FileExistsUTF8(BackupFilename) then
|
||||
if DeleteFileUTF8(BackupFilename) then begin
|
||||
debugln(['Note: deleted backup "',BackupFilename,'"']);
|
||||
end else begin
|
||||
// unable to delete old backup file, maybe an old IDE is still running
|
||||
// => try to backup the backup
|
||||
Backup2Filename:=LeftStr(ExeFilename,length(ExeFilename)-length(Ext))+'.old2'+Ext;
|
||||
Backup2Filename:=LeftStr(fTargetFilename,length(fTargetFilename)-length(Ext))+'.old2'+Ext;
|
||||
if FileExistsUTF8(Backup2Filename) then begin
|
||||
if DeleteFileUTF8(Backup2Filename) then
|
||||
debugln(['Note: deleted backup "',Backup2Filename,'"'])
|
||||
@ -559,20 +560,18 @@ function TLazarusBuilder.CreateIDEMakeOptions(Flags: TBuildLazarusFlags): TModal
|
||||
end;
|
||||
end;
|
||||
if not FileExistsUTF8(BackupFilename) then begin
|
||||
if RenameFileUTF8(ExeFilename,BackupFilename) then
|
||||
debugln(['Note: renamed file "'+ExeFilename+'" to "',BackupFilename,'"'])
|
||||
if RenameFileUTF8(fTargetFilename,BackupFilename) then
|
||||
debugln(['Note: renamed file "'+fTargetFilename+'" to "',BackupFilename,'"'])
|
||||
else
|
||||
debugln(['WARNING: unable to rename file "'+ExeFilename+'" to "',BackupFilename,'"']);
|
||||
end;
|
||||
end;
|
||||
if (not (blfReplaceExe in Flags)) and FileExistsUTF8(ExeFilename) then begin
|
||||
// backup didn't work => use another file name
|
||||
ExeFilename:=AltFilename;
|
||||
debugln(['WARNING: unable to rename file "'+fTargetFilename+'" to "',BackupFilename,'"']);
|
||||
end;
|
||||
end;
|
||||
if (not (blfReplaceExe in Flags)) and FileExistsUTF8(fTargetFilename) then
|
||||
fTargetFilename:=AltFilename; // backup didn't work => use another file name
|
||||
end;
|
||||
|
||||
procedure AppendExtraOption(const AddOption: string; EncloseIfSpace: boolean);
|
||||
begin
|
||||
procedure TLazarusBuilder.AppendExtraOption(const AddOption: string; EncloseIfSpace: boolean);
|
||||
begin
|
||||
if AddOption='' then exit;
|
||||
if fExtraOptions<>'' then
|
||||
fExtraOptions:=fExtraOptions+' ';
|
||||
@ -581,13 +580,9 @@ function TLazarusBuilder.CreateIDEMakeOptions(Flags: TBuildLazarusFlags): TModal
|
||||
else
|
||||
fExtraOptions:=fExtraOptions+AddOption;
|
||||
//DebugLn(['AppendExtraOption ',fExtraOptions]);
|
||||
end;
|
||||
|
||||
procedure AppendExtraOption(const AddOption: string);
|
||||
begin
|
||||
AppendExtraOption(AddOption,true);
|
||||
end;
|
||||
end;
|
||||
|
||||
function TLazarusBuilder.CreateIDEMakeOptions(Flags: TBuildLazarusFlags): TModalResult;
|
||||
var
|
||||
MakeIDECfgFilename: string;
|
||||
TargetDirectory: string;
|
||||
@ -729,7 +724,7 @@ begin
|
||||
fTargetFilename:=TrimFilename(AppendPathDelim(TargetDirectory)+fTargetFilename);
|
||||
|
||||
// backup old exe
|
||||
BackupExe(fTargetFilename);
|
||||
BackupExe(Flags);
|
||||
|
||||
// check if target file is default
|
||||
NewTargetDirectoryIsDefault:=
|
||||
|
Loading…
Reference in New Issue
Block a user