diff --git a/components/codetools/fpc.errore.msg b/components/codetools/fpc.errore.msg index e360ec53a3..05b6552548 100644 --- a/components/codetools/fpc.errore.msg +++ b/components/codetools/fpc.errore.msg @@ -32,8 +32,12 @@ general_t_objectpath=01007_T_Using object path: $1 option_using_file=11026_T_Reading options from file $1 % Options are also read from this file -% Options are also read from this environment string option_handling_option=11028_D_Handling option "$1" +% Options are also read from this environment string + +unit_u_recompile_crc_change=10028_U_Recompiling $1, checksum changed for $2 +% The unit is recompiled because the checksum of a unit it depends on has +% changed. # end. diff --git a/ide/outputfilter.pas b/ide/outputfilter.pas index 39ba5b59d6..b4b578a50c 100644 --- a/ide/outputfilter.pas +++ b/ide/outputfilter.pas @@ -627,6 +627,23 @@ var i, j, FilenameEndPos: integer; DoAddFilteredLine(copy(s,OldStart,length(s))); end; + { example: + Recompiling GtkInt, checksum changed for gdk2x + } + function CheckForRecompilingChecksumChangedMessages(p: integer): boolean; + var + OldStart: LongInt; + begin + Result:=false; + OldStart:=p; + if not CompStr('Recompiling ',s,p) then exit; + while (p<=length(s)) and (s[p]<>',') do + inc(p); + if not CompStr(', checksum changed for ',s,p) then exit; + Result:=true; + DoAddFilteredLine(copy(s,OldStart,length(s))); + end; + { example: ...\windres.exe: warning: ... } @@ -684,7 +701,10 @@ begin // check for linking errors Result:=CheckForLinkingErrors(i); if Result then exit; - // cehck for windres errors + // check for Recompiling, checksum changed + Result:=CheckForRecompilingChecksumChangedMessages(i); + if Result then exit; + // check for windres errors Result := CheckForWindresErrors(i); if Result then Exit;