[Lazarus] Conditional compilation depending on Lazarus version?
Mark Morgan Lloyd
markMLl.lazarus at telemetry.co.uk
Thu Mar 22 20:25:49 CET 2012
cobines wrote:
> 2012/3/22 Mark Morgan Lloyd <markMLl.lazarus at telemetry.co.uk>:
>> At that point if there's an ./ide/revision.inc file containing
>>
>> // Created by Svn2RevisionInc
>> const RevisionStr = '35880M';
>>
>> can it be included into a unit to make it visible at compile time?
>
> You can add "$(LazarusDir)\ide" to the include paths of the project.
> Then this works:
>
> {$I revision.inc}
>
> const
> revIntroducedNewFeature = '55555';
>
> begin
> {$IF (RevisionStr >= revIntroducedNewFeature)}
> UseNewFeature;
> {$ENDIF}
> end;
True, although what I was really wondering was whether it could be
pulled in purely by referencing a unit, rather than having $I all over
the place. And there's still the issue of recovering gracefully if the
include file isn't available or the version is non-numeric, i.e. has an
appended M or reads "exported" because Lazarus wasn't built from SVN.
--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk
[Opinions above are the author's, not those of his employers or colleagues]
More information about the Lazarus
mailing list