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