[Lazarus] Project Group support in the IDE

Marc Santhoff M.Santhoff at web.de
Sat Sep 14 18:48:02 CEST 2013


On Sa, 2013-09-14 at 10:26 +0200, Mattias Gaertner wrote:
> On Sat, 14 Sep 2013 05:24:21 +0200
> Marc Santhoff <M.Santhoff at web.de> wrote:
> 
> > On Fr, 2013-09-13 at 14:11 +0200, Michael Van Canneyt wrote:
> > > 
> > > On Fri, 13 Sep 2013, Graeme Geldenhuys wrote:
> > > 
> > > > On 2013-09-13 11:56, Mattias Gaertner wrote:
> > 
> > > >> No, it is not implemented yet.
> > > >
> > > > Thanks for the info.
> > > >
> > > >
> > > >> If you only want one window to easily switch the active project and using that
> > > >> to compile a bunch of projects, then yes, it is easy.
> > > >
> > > > Yup, that's all I want for Project Groups. Being able to quickly switch
> > > > between related projects, do a "build all projects in group" [great for
> > > > release day], re-order projects in the group, and do a "build projects
> > > > from here".
> > > >
> > > > All my projects tend to consist of 4+ executables, and the project I
> > > > work the most on consists of 10+ executables. Doing manual building of
> > > > projects one-by-one is so labour intensive - hence I have many build
> > > > scripts. Maintaining those build scripts is a pain too.
> > > 
> > > Same here.
> > > 
> > > At least, having this window would be a very good start. 
> > > The advanced features could follow later.
> > 
> > Curiously asked: could a package and lazbuild be used for this task?
> 
> lazbuild can compile a project, but error messages might be
> misunderstood by the IDE.

OK, as I wrote, for releases and similar I prefer console or xterm. And
having things scriptable allows for including configuration files (e.g.
serial number).
 
> > I don't know if packages can handle bulding executables. 
> 
> Yes.
> But packages lack some features, so you have to do more manual work.

Can you name those missing features or give an example?

> > Maybe it would
> > be easy to extend it doing a lot less work than having to write a GUI
> > and lazarus extension for it.
> 
> That would only work if all projects use the same settings for all
> packages.

Would it be possible to use "makefile chaining"?

What I want to say is:
If a subdirectory has it's own makefile[.fpc], use that one instead of
doing a normal build?

The chained makefiles would have to be named explicitely or detected
while generating a makefile using lazbuild, though.

> > 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. Using lazbuild would
> > have the advnatage of being able to have the makefiles holding anything
> > needed (compiler switches, etc.) generated.
> 
> AFAIK project groups is mostly a GUI feature. Compiling a bunch of
> projects with lazbuild works since years.

I think my idea of project groups is far away from reality,. ;)

>From reading Graeme's mail it looked like he wanted to simplify the
build process in the scope of one project having multiple exe files,
where all of those exe files can have different compiler options on the
depencies and he wants to build with -B.

The idea was to let lazbuild or lazarus generate the makefile for each
exe or subproject (e.g. database framework) and at maximum have to write
one master makefile chaining them together.

That's why I'm thinking about it, as said I often have to compile in
serial number and other items indvidually per customer. So I'm doing a
lot of scripting and a lot of scritpting documention. Optimizing this
process by wrtiting less extra scripts and stuff is very attractive.

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





More information about the Lazarus mailing list