codetools: search include file of include file in direcory of unit

git-svn-id: trunk@30027 -
This commit is contained in:
mattias 2011-03-27 09:00:32 +00:00
parent d1cf568583
commit e14efa6017
2 changed files with 13 additions and 5 deletions

View File

@ -2978,16 +2978,24 @@ begin
if HasPathDelims then
DoDirSeparators(AFilename);
// first search include file in the directory of the current source
// first search include file in the directory of the unit
{$IFDEF VerboseIncludeSearch}
DebugLn('TLinkScanner.SearchIncludeFile MainSourceFilename="',FMainSourceFilename,'"');
debugln(['TLinkScanner.SearchIncludeFile FMainSourceFilename="',FMainSourceFilename,'" SrcFile="',SrcFilename,'" AFilename="',AFilename,'" ExpFilename="',ExpFilename,'"']);
{$ENDIF}
if FilenameIsAbsolute(SrcFilename) then begin
if FilenameIsAbsolute(FMainSourceFilename) then begin
// main source has absolute filename
ExpFilename:=ExtractFilePath(SrcFilename)+AFilename;
// search in directory of unit
ExpFilename:=ExtractFilePath(FMainSourceFilename)+AFilename;
NewCode:=LoadSourceCaseLoUp(ExpFilename);
Result:=(NewCode<>nil);
if Result then exit;
// search in directory of include file
if FilenameIsAbsolute(SrcFilename) then begin
ExpFilename:=ExtractFilePath(SrcFilename)+AFilename;
NewCode:=LoadSourceCaseLoUp(ExpFilename);
Result:=(NewCode<>nil);
if Result then exit;
end;
end else begin
// main source is virtual
NewCode:=FOnLoadSource(Self,TrimFilename(AFilename),true);

View File

@ -50,7 +50,7 @@ uses
InterfaceBase;
const
LazarusVersionStr= {$I version.inc};
LazarusVersionStr = {$I version.inc};
LCLPlatformDisplayNames: array[TLCLPlatform] of string = (
'gtk (deprecated)',