ide: split -o path passed to fpc into -FE and -o where -o contains only a file name and -FE contains only a path as required by Jonas in this issue #13324

git-svn-id: trunk@18988 -
This commit is contained in:
paul 2009-03-14 12:58:24 +00:00
parent d12a2dd815
commit 4c514e24e7

View File

@ -1865,6 +1865,7 @@ var
switches, tempsw: String;
InhLinkerOpts: String;
NewTargetFilename: String;
NewTargetDirectory: String;
CurIncludePath: String;
CurLibraryPath: String;
CurUnitPath: String;
@ -2411,17 +2412,21 @@ begin
}
// append -o Option if neccessary
if not (ccloDoNotAppendOutFileOption in Flags)
and ((TargetFilename<>'') or (CurMainSrcFile<>'') or (CurOutputDir<>'')) then
if not (ccloDoNotAppendOutFileOption in Flags) and
((TargetFilename<>'') or (CurMainSrcFile<>'') or (CurOutputDir<>'')) then
begin
NewTargetFilename:=CreateTargetFilename(CurMainSrcFile);
if (NewTargetFilename<>'')
and ((CompareFileNames(NewTargetFilename,ChangeFileExt(CurMainSrcFile,''))<>0)
or (CurOutputDir<>'')) then
NewTargetFilename := CreateTargetFilename(CurMainSrcFile);
if (NewTargetFilename<>'') and
((CompareFileNames(NewTargetFilename,ChangeFileExt(CurMainSrcFile,''))<>0) or
(CurOutputDir<>'')) then
begin
if not (cclAbsolutePaths in Flags) then
NewTargetFilename:=CreateRelativePath(NewTargetFilename,BaseDirectory);
switches := switches + ' '+PrepareCmdLineOption('-o' + NewTargetFilename);
NewTargetFilename := CreateRelativePath(NewTargetFilename, BaseDirectory);
NewTargetDirectory := ExtractFilePath(NewTargetFilename);
if NewTargetDirectory <> '' then
switches := switches + ' '+PrepareCmdLineOption('-FE' + NewTargetDirectory);
NewTargetFileName := ExtractFileName(NewTargetFilename);
switches := switches + ' '+PrepareCmdLineOption('-o' + NewTargetFileName);
end;
end;