IDE: only compiling package clean once if state file missing

git-svn-id: trunk@14434 -
This commit is contained in:
mattias 2008-03-05 16:13:30 +00:00
parent d591f6327e
commit d0b3a6aebd

View File

@ -2422,10 +2422,17 @@ var
CurFile: TPkgFile;
begin
Result:=mrYes;
NeedBuildAllFlag:=true;
{$IFDEF VerbosePkgCompile}
debugln('TLazPackageGraph.CheckIfPackageNeedsCompilation A ',APackage.IDAsString);
{$ENDIF}
NeedBuildAllFlag:=false;
if (APackage.LastCompilerFilename<>CompilerFilename)
or (APackage.LastCompilerParams<>CompilerParams)
or ((APackage.LastCompilerFileDate>0)
and FileExistsCached(CompilerFilename)
and (FileAge(CompilerFilename)<>APackage.LastCompilerFileDate))
then
NeedBuildAllFlag:=true;
// check state file
StateFilename:=APackage.GetStateFilename;
@ -2691,6 +2698,9 @@ begin
Result:=SavePackageCompiledState(APackage,
CompilerFilename,CompilerParams);
if Result<>mrOk then begin
APackage.LastCompilerFilename:=CompilerFilename;
APackage.LastCompilerParams:=CompilerParams;
APackage.LastCompilerFileDate:=FileAge(CompilerFilename);
DebugLn(['TLazPackageGraph.CompilePackage SavePackageCompiledState failed: ',APackage.IDAsString]);
exit;
end;