mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-09-13 19:40:09 +02:00
IDE: allow rebuilding a running lazarus in a custom directory from C Western (bug #11072)
git-svn-id: trunk@14730 -
This commit is contained in:
parent
4c72c3b1ed
commit
6f835bfa26
@ -509,6 +509,7 @@ var
|
|||||||
DefaultTargetCPU: string;
|
DefaultTargetCPU: string;
|
||||||
NewTargetOS: String;
|
NewTargetOS: String;
|
||||||
NewTargetCPU: String;
|
NewTargetCPU: String;
|
||||||
|
CrossCompiling: Boolean;
|
||||||
begin
|
begin
|
||||||
Result:=mrOk;
|
Result:=mrOk;
|
||||||
CurItem:=Options.Items[ItemIndex];
|
CurItem:=Options.Items[ItemIndex];
|
||||||
@ -554,6 +555,14 @@ begin
|
|||||||
NewTargetFilename:='';
|
NewTargetFilename:='';
|
||||||
NewUnitDirectory:='';
|
NewUnitDirectory:='';
|
||||||
NewTargetDirectory:='';
|
NewTargetDirectory:='';
|
||||||
|
DefaultTargetOS:=GetDefaultTargetOS;
|
||||||
|
DefaultTargetCPU:=GetDefaultTargetCPU;
|
||||||
|
NewTargetOS:=Options.TargetOS;
|
||||||
|
NewTargetCPU:=Options.TargetCPU;
|
||||||
|
if NewTargetOS='' then NewTargetOS:=DefaultTargetOS;
|
||||||
|
if NewTargetCPU='' then NewTargetCPU:=DefaultTargetCPU;
|
||||||
|
CrossCompiling:=(CompareText(NewTargetOS,DefaultTargetOS)<>0) or (CompareText(NewTargetCPU,DefaultTargetCPU)<>0);
|
||||||
|
DebugLn(['CreateBuildLazarusOptions NewTargetOS=',NewTargetOS,' NewTargetCPU=',NewTargetCPU]);
|
||||||
if (Options.TargetDirectory<>'') then begin
|
if (Options.TargetDirectory<>'') then begin
|
||||||
// Case 1. the user has set a target directory
|
// Case 1. the user has set a target directory
|
||||||
NewTargetDirectory:=Options.TargetDirectory;
|
NewTargetDirectory:=Options.TargetDirectory;
|
||||||
@ -566,19 +575,17 @@ begin
|
|||||||
debugln('CreateBuildLazarusOptions Options.TargetDirectory=',NewTargetDirectory);
|
debugln('CreateBuildLazarusOptions Options.TargetDirectory=',NewTargetDirectory);
|
||||||
Result:=ForceDirectoryInteractive(NewTargetDirectory,[]);
|
Result:=ForceDirectoryInteractive(NewTargetDirectory,[]);
|
||||||
if Result<>mrOk then exit;
|
if Result<>mrOk then exit;
|
||||||
|
if OSLocksExecutables and not CrossCompiling then begin
|
||||||
|
// Allow for the case where this correspnds to the current executable
|
||||||
|
NewTargetFilename:='lazarus'+GetExecutableExt(NewTargetOS);
|
||||||
|
if FileExists(AppendPathDelim(NewTargetDirectory)+NewTargetFilename) then
|
||||||
|
NewTargetFilename:='lazarus.new'+GetExecutableExt(NewTargetOS)
|
||||||
|
end;
|
||||||
end else begin
|
end else begin
|
||||||
// no user defined target directory
|
// no user defined target directory
|
||||||
// => find it automatically
|
// => find it automatically
|
||||||
|
|
||||||
DefaultTargetOS:=GetDefaultTargetOS;
|
if CrossCompiling then
|
||||||
DefaultTargetCPU:=GetDefaultTargetCPU;
|
|
||||||
NewTargetOS:=Options.TargetOS;
|
|
||||||
NewTargetCPU:=Options.TargetCPU;
|
|
||||||
if NewTargetOS='' then NewTargetOS:=DefaultTargetOS;
|
|
||||||
if NewTargetCPU='' then NewTargetCPU:=DefaultTargetCPU;
|
|
||||||
DebugLn(['CreateBuildLazarusOptions NewTargetOS=',NewTargetOS,' NewTargetCPU=',NewTargetCPU]);
|
|
||||||
if(CompareText(NewTargetOS,DefaultTargetOS)<>0)
|
|
||||||
or (CompareText(NewTargetCPU,DefaultTargetCPU)<>0) then
|
|
||||||
begin
|
begin
|
||||||
// Case 2. crosscompiling the IDE
|
// Case 2. crosscompiling the IDE
|
||||||
// create directory <primary config dir>/bin/<TargetCPU>-<TargetOS>
|
// create directory <primary config dir>/bin/<TargetCPU>-<TargetOS>
|
||||||
|
Loading…
Reference in New Issue
Block a user