[Lazarus] unit on relative path is not recompile

patspiper patspiper at gmail.com
Mon Sep 30 18:10:54 CEST 2013


On 30/09/13 18:49, Mattias Gaertner wrote:
> On Mon, 30 Sep 2013 18:26:41 +0300
> patspiper <patspiper at gmail.com> wrote:
>
>> On 30/09/13 18:13, Mattias Gaertner wrote:
>>> On Mon, 30 Sep 2013 16:35:30 +0200
>>> Dariusz Mazur <darekm at emadar.com> wrote:
>>>
>>>> On 2013-09-27 17:03, Mattias Gaertner wrote:
>>>>> On Fri, 27 Sep 2013 16:59:04 +0200
>>>>> Dariusz Mazur <darekm at emadar.com> wrote:
>>>>>
>>>>>> Hi
>>>>>>
>>>>>> I've noticed than lazarus (1.0.12) don't recompile units, which are
>>>>>> include in program on relative path
>>>>>> <code>
>>>>>>      program p;
>>>>>> uses
>>>>>>       u1 in '..\..\test\u1.pas';
>>>>>> begin
>>>>>>      ...
>>>>>> end;
>>>>>> </code>
>>>>> Is "..\..\test\u1.pas" listed in the project inspector?
>>>> no,
>>>> only mention u1 with name in main file.
>>> Add it. Then the IDE will check the file date.
>> Does the IDE check for lfm and include files date?
> lfm yes, include files must be added.

I suppose the IDE checks the lfm in order to reload it if the file 
changed on disk.

I have a few doubts I would appreciate your help clarifying them:

Should lfm's be added to projects and packages?

Is it OK if include files are added by several packages and projects 
using these packages?
>
>> I tried even to include the lfm with the project but the IDE neglected that.
> The compiler ignores changes to lfm. That means if you only change the
> lfm and not the pas, the IDE will call the compiler, but the compiler
> does not check resources and will not update the lfm in the exe. You
> have to change the pas file too.

Does the compiler check include files (added and not added to the 
project/package)?

Finally, does adding defines to the project (-d) or to an include file 
($DEFINE) trigger the necessary rebuild?

Stephano




More information about the Lazarus mailing list