[Lazarus] Different packages for different usage

Graeme Geldenhuys mailinglists at geldenhuys.co.uk
Fri Jun 19 12:17:17 CEST 2015

On 2015-06-18 22:48, aradeonas wrote:
> units share with these two package that used TPicture in some parts but
> they can be removed with compiler condition.

And it still boggles the mind why TPicture (essentially graphic
handling) must pull in the whole LCL or VCL. Free Pascal's FCL-Image
doesn't require the VCL or LCL, so why must TPicture.

I had a similar issue with code I had to work on a year or two ago.

Anyway, back to the point at hand... From what I understand Project
Options can now set values on packages too. How exactly this is done, I
don't know. Maybe the wiki could help. This should mean that if you set
a compiler define in your project, that compiler define could be applied
to dependency packages too. So your Client app could have the define,
and the Server app doesn't. The code in your package then uses simple
IFDEF's to block out some parts of the code.

I have so many issues with Lazarus Packages these days - I recommend you
scrap them completely and simply use IDE Macros. Build settings,
Compiler Defines etc are much much easier to handle then. Each project
has there own settings and is applied to all the source code involved.

  - Graeme -

fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal

More information about the Lazarus mailing list