mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-19 02:59:19 +02:00
IDE: fixed checking if TargetExeDirectory(C:\) exists
git-svn-id: branches/fixes_2_0@61655 -
This commit is contained in:
parent
36ddc4233b
commit
86219c1ee7
@ -722,6 +722,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
function PathIsInPath(const Path, Directory: string): boolean;
|
function PathIsInPath(const Path, Directory: string): boolean;
|
||||||
|
// Note: Under Windows this treats C: as C:\
|
||||||
var
|
var
|
||||||
ExpPath: String;
|
ExpPath: String;
|
||||||
ExpDir: String;
|
ExpDir: String;
|
||||||
|
39
ide/main.pp
39
ide/main.pp
@ -6791,27 +6791,28 @@ begin
|
|||||||
TargetExeName := Project1.CompilerOptions.CreateTargetFilename;
|
TargetExeName := Project1.CompilerOptions.CreateTargetFilename;
|
||||||
TargetExeDirectory:=ChompPathDelim(ExtractFilePath(TargetExeName)); // Note: chomp is needed by FileExistsCached under Windows
|
TargetExeDirectory:=ChompPathDelim(ExtractFilePath(TargetExeName)); // Note: chomp is needed by FileExistsCached under Windows
|
||||||
if FilenameIsAbsolute(TargetExeDirectory) then begin
|
if FilenameIsAbsolute(TargetExeDirectory) then begin
|
||||||
if FileExistsCached(TargetExeDirectory) then begin
|
// Note: FileExists('C:\') = false
|
||||||
if not DirPathExistsCached(TargetExeDirectory) then begin
|
if not DirPathExistsCached(TargetExeDirectory) then begin
|
||||||
|
if FileExistsCached(TargetExeDirectory) then begin
|
||||||
Result:=IDEQuestionDialog(lisFileFound,
|
Result:=IDEQuestionDialog(lisFileFound,
|
||||||
Format(lisTheTargetDirectoryIsAFile, [sLineBreak
|
Format(lisTheTargetDirectoryIsAFile, [sLineBreak
|
||||||
+TargetExeDirectory]),
|
+TargetExeDirectory]),
|
||||||
mtWarning, [mrCancel,mrIgnore]);
|
mtWarning, [mrCancel,mrIgnore]);
|
||||||
if Result<>mrIgnore then exit(mrCancel);
|
if Result<>mrIgnore then exit(mrCancel);
|
||||||
end;
|
end else begin
|
||||||
end else begin
|
if not PathIsInPath(TargetExeDirectory,WorkingDir)
|
||||||
if not PathIsInPath(TargetExeDirectory,WorkingDir)
|
then begin
|
||||||
then begin
|
Result:=IDEQuestionDialog(lisCreateDirectory,
|
||||||
Result:=IDEQuestionDialog(lisCreateDirectory,
|
Format(lisTheOutputDirectoryIsMissing, [TargetExeDirectory]),
|
||||||
Format(lisTheOutputDirectoryIsMissing, [TargetExeDirectory]),
|
mtConfirmation, [mrYes, lisCreateIt,
|
||||||
mtConfirmation, [mrYes, lisCreateIt,
|
mrCancel]);
|
||||||
mrCancel]);
|
if Result<>mrYes then exit;
|
||||||
if Result<>mrYes then exit;
|
end;
|
||||||
end;
|
Result:=ForceDirectoryInteractive(TargetExeDirectory,[mbRetry]);
|
||||||
Result:=ForceDirectoryInteractive(TargetExeDirectory,[mbRetry]);
|
if Result<>mrOk then begin
|
||||||
if Result<>mrOk then begin
|
debugln(['Error: (lazarus) [TMainIDE.DoBuildProject] ForceDirectoryInteractive "',TargetExeDirectory,'" failed']);
|
||||||
debugln(['Error: (lazarus) [TMainIDE.DoBuildProject] ForceDirectoryInteractive "',TargetExeDirectory,'" failed']);
|
exit;
|
||||||
exit;
|
end;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
Loading…
Reference in New Issue
Block a user