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(!).

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.

Note: The package dependency case is already solved by Lazarus in a different way.

Regards,
Sven

--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to