[Lazarus] unit on relative path is not recompile

patspiper patspiper at gmail.com
Mon Sep 30 19:25:03 CEST 2013


On 30/09/13 19:53, Mattias Gaertner wrote:
> On Mon, 30 Sep 2013 19:10:54 +0300
> patspiper <patspiper at gmail.com> wrote:
>
>> [...]
>> Should lfm's be added to projects and packages?
> You don't need to add lfm files to projects.
> Add them to packages.
> You can add a feature request to let the IDE check lfm files for
> packages.

Done:
http://bugs.freepascal.org/view.php?id=25120
>> Is it OK if include files are added by several packages and projects
>> using these packages?
> Add the include file to the package and remove it from all
> packages/projects using that package.
> Each file should have only one owner at a time.

The problem is with include files that hold for example global defines 
and is used by several packages. Example:

Package A's and B's units all include myfile.inc, and package A uses 
package B.

But anyway, since the compiler checks include files even if they are not 
added to the project or package (as you mentioned below), there is no 
need to add them in the first place.
>>>> 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)?
> Yes, unless a unit was compiled with -Ur.
>
>   
>> Finally, does adding defines to the project (-d) or to an include file
>> ($DEFINE) trigger the necessary rebuild?
> Yes, the IDE compiles with -B.

Thanks,
Stephano




More information about the Lazarus mailing list