[Lazarus] How would you organize build directories for different versions?

Mattias Gaertner nc-gaertnma at netcologne.de
Thu Jul 14 12:20:15 CEST 2011


 
 

 Graeme Geldenhuys <graemeg.lists at gmail.com> hat am 14. Juli 2011 um 11:56
geschrieben:

 > On 07/14/2011 11:43 AM, Mattias Gaertner wrote:
 > >> I thought they would all
 > >> be dumped into a single directory.
 > > 
 > > That would be a Delphi mess. Separate output directories is one of the key
 > > features of the Lazarus package system.
 >
 >
 > And that can cause it's own set of headaches. Yes it saves on disk space 
No, it needs more disk space, because you have several output directories per
package, .e.g. targetcpu-targetos.
 
 

 > because all projects using a package, use the same set of *.ppu files.
 > But changing a compiler parameter or compiler define in a project
 > doesn't apply to any of the packages - so you can get very undesirable
 > results. 
AFAIK it is quite the opposite.
If all project options would be applied to all packages, that means applying
options to code you have not written, you can get very undesirable results. For
example there is a bug in fpc 2.4.4 under OS X that when you apply range
checking to the IDE, it will fail with a strange error message. With separate
options you can apply the -Cr only to your project.
The same is true for many optimizations and debugging flags. 
 
The main idea for separate output directories is that you can be sure that the
package units are compiled with the options the package developer tested it. 
 
 

 >
 > The other problem being that sometimes Lazarus doesn't detect unit
 > changes and doesn't "auto" recompile those related packages. Also
 > causing huge frustration. 
You told so once and said you would tell me how to reproduce it once it appears
again. But I didn't receive no such mail. Now you write again that the IDE is
buggy - again without any clue.
This is not helpful.
 
 

 >
 > I use to be a huge proponent for Lazarus Packages, but lately use macros
 > (for defining differing paths on various systems), and more importantly,
 > use a single output path for each project target. This solving all the
 > problems listed above.
 There are many ways to maintain your code base. It is good that the IDE
supports a lot.

 Mattias
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20110714/ba118c00/attachment-0003.html>


More information about the Lazarus mailing list