The LCL package has this in custom definitions for dependent packages: -dLCL -dLCL$(LCLWidgetType)
So Lazarus simply defines the LCL and LCL<widgettype> at compile time. <widgettype> is one of the subdirectories in lcl/interfaces. On Mon, Feb 13, 2017 at 12:21 PM, Mark Morgan Lloyd via Lazarus < [email protected]> wrote: > On 13/02/17 10:00, Mattias Gaertner via Lazarus wrote: > >> On Mon, 13 Feb 2017 09:23:35 +0000Mark Morgan Lloyd via Lazarus < >> [email protected]> wrote: >> >>> I've got a bit of diagnostic code that I add to most programs that > >>> retrieves things like Subversion revision numbers and link-time build > ID. >>> It also contains> > (*$IFDEF LCLQT *)> widV= 'Linked with the Qt >>> widget set';> (*$DEFINE WIDGETSET *)> (*$ENDIF *)> (*$IFDEF >>> LCLFPGUI *)> widV= 'Linked with the FPGUI widget set';> (*$DEFINE >>> WIDGETSET *)> (*$ENDIF *)> > and so on.> > Presumably LCLQT and the >>> rest are defined somewhere in the IDE or LCL, > but where can I find this >>> so that I can make sure that my code's kept in > step? >>> >> uses InterfaceBase, LCLPlatformDef; >> widV:='Linked with '+LCLPlatformDisplayNames[WidgetSet.LCLPlatform]+'widget >> set'; >> > > OK, Thanks. So I can see how I can derive the names etc. from that, it > appears to have been supported since the dawn of time, and linking to it is > still going to be no more intrusive than some of the other stuff that's > already in my diagnostic unit. > > But out of curiosity, I'd still be very interested to know how the > compile-time definitions like the ones in my example are generated :-) > > -- > Mark Morgan Lloyd > markMLl .AT. telemetry.co .DOT. uk > > [Opinions above are the author's, not those of his employers or colleagues] > -- > _______________________________________________ > Lazarus mailing list > [email protected] > http://lists.lazarus-ide.org/listinfo/lazarus >
-- _______________________________________________ Lazarus mailing list [email protected] http://lists.lazarus-ide.org/listinfo/lazarus
