[Lazarus] Conditional compilation depending on Lazarus version?

Sven Barth pascaldragon at googlemail.com
Thu Mar 22 14:23:23 CET 2012

Am 22.03.2012 14:10, schrieb Mark Morgan Lloyd:
> Sven Barth wrote:
>> Am 22.03.2012 13:28, schrieb Mark Morgan Lloyd:
>>> Sven Barth wrote:
>>>> Am 22.03.2012 11:32, schrieb Reinier Olislagers:
>>>>> I realize that the code above will be compiled by FPC, not Lazarus;
>>>>> perhaps it is possible to set an environment variable LAZARUSREVISION
>>>>> and/or LAZARUSVERSION and get these into FPC macros in some way?
>>>> The revision is not possible (when using development versions you
>>>> should try to use the latest revision), but for version you can use
>>>> the unit LCLVersion. Just add it to the uses clause and then you can
>>>> use e.g.:
>>>> {$if lcl_fullversion>=93100}
>>>> // code that should work with 0.9.31 or newer
>>>> {$endif}
>>> For the record, can you easily say what version of FPC introduced this
>>> capability?
>> According to a svn blame for the corresponding code this is in there
>> at least since 2005 (when FPC switched from CVS to SVN and thus no
>> older history is available to the public)
> Which probably makes it safe for 2.2.4, which corresponds approximately
> to by which time the new-format lcl_fullversion etc. were
> available.

These constants were introduced EXACTLY for the purpose to use them in 
ifdefs. So yes, they are safe to use in this way ;)


More information about the Lazarus mailing list