[Lazarus] Project Group support in the IDE

Marc Santhoff M.Santhoff at web.de
Sat Sep 14 19:23:06 CEST 2013


On Sa, 2013-09-14 at 19:01 +0200, Sven Barth wrote:
> On 14.09.2013 18:54, Marc Santhoff wrote:
> > On Sa, 2013-09-14 at 13:19 +0100, Graeme Geldenhuys wrote:
> >> On 2013-09-14 04:24, Marc Santhoff wrote:
> >>> If I'm doing releases having to start lazarus, finding and opening the
> >>> project, setting some config values, would all be far to many actions. I
> >>> really prefer using makefiles or something similar.
> >>
> >> To be honest... I find the Lazarus way of doing things - especially for
> >> switching between debug and release builds pretty horrific. What I do is
> >> use Lazarus for development (mostly) - thus debug builds. I then switch
> >> to MSEide to do release builds. MSEide allows switching build modes much
> >> easier, and guarantees that ALL units (including external frameworks,
> >> components etc) involved in the project share the same compiler settings.
> >>
> >> At the moment I'm not so concerned about release builds, but rather to
> >> speed up the way I work with parts of a large project.
> >
> > Can you please explain to a person never having used any Delphi with
> > version numbers above 3 what exactly those project groups are doing?
> > Meanwhile I think I totally misunderstood your target.
> 
> A project groups allow you to have multiple projects (packages, 
> libraries, executables) inside one project. The IDE shows you a flat 
> tree of your projects whereby one project is the active one (that one 
> will be used by "run", "compile", etc. shortcuts. You can compile 
> inactive projects by selecting the approbiate menu item ("compile" or 
> "build") from the context menu of the project. Switching the project 
> simply involves double clicking another project whereby the open source 
> editor files are not changed(!).

I see. So it is possible to change a basic file that is a dependency of
the active project, compile and test and additionally have a quick check
if the other dependent projects compile ok without having to run a set
of unit tests or switch projects. Or prepare a freshly compiled tool
programm from another project needed for work anyhow. And more use
cases ...

> > Can project groups build multiple projects all having their own compiler
> > settings?
> 
> Yes. They are all basically independant projects that happen to be 
> grouped together (but see below for an addendum).
> 
> > And why would you want to recompile all project when not doing a
> > release, do you want to force the dependency packages to be rebuilt or
> > what else?
> 
> Using group projects you can define dependencies between projects. E.g. 
> you could have a package which contains shared units and one library and 
> two executables. The latter three all need the first one and one of the 
> two executables also needs the library to run. So you can set up the 
> dependencies accordingly and the IDE will ensure that each needed 
> project is recompiled if you compile one.

OK very clear explanation, thank you.

-- 
Marc Santhoff <M.Santhoff at web.de>





More information about the Lazarus mailing list