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

Marcos Douglas md at delfire.net
Fri Jul 15 17:15:11 CEST 2011


On Thu, Jul 14, 2011 at 7:39 AM, Graeme Geldenhuys
<graemeg.lists at gmail.com> wrote:
>
> On 07/14/2011 12:20 PM, Mattias Gaertner wrote:
> >  > 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.
>
> I think you missunderstood my statement. I meant that using Lazarus
> Packages allows you to save on a bit of disk space. So if 10 projects
> are using the LCL package, you only have one set of target *.ppu files
> for the LCL package.
>
> > 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.
>
> Here is an example:
> I have a project that uses 'fpgui', 'onguard' and 'tiopf'. If I compile
> each of those libraries with unoptimized and very verbose compiler
> settings - that is helpful while developing and for debugging. But now I
> want to generate a release build of my project. I can't just toggle the
> release build settings in by project settings, because those will not be
> applied to the 3 libraries (lazarus packages) I use. So I have to
> individually change the settings for each of those 3 packages and
> recompile them, then recompile my project.
>
> Whereas if I used a single unit output directory, my project compiler
> settings will be applied to all source code (even the 3 libraries I use)
> when I include the -B compiler parameter. Now ALL source code will have
> the optimized "release build" compiler settings applied to them. One
> change of compiler settings and one re-compile.

So, you have a output directory for each package, compiled with no
optimizations.
When you want a new release, you set only one directory for all ppu
files (project and package's files) and uses the -B argument to
compile.

I understood right?

Marcos Douglas




More information about the Lazarus mailing list