Graeme Geldenhuys wrote:
On 2013-03-27 17:59, Sven Barth wrote:
const
cGitRevision = '{$revision.inc}';
This won't work, because the string takes precedance over the directive.
Probably why my original version build script generates the whole line
with identifier.
What about the following...
const
cGitRevision = '''' + {$revision.inc} + '''';
Or are expressions not allowed in constant declarations either? Anyway,
I think we gave enough hints for the original poster to find a suitable
solution. I was never pro to spoon-feeding programmers. ;-)
Another approach- which I use for svn- is to generate the version string
with quotes. At the point of use you can simply have something like
(*$IFDEF USE_SVN *)
(*$IFDEF UNIX *)
rev= (*$I project_svnrevision.inc *) ;
(*$ELSE *)
rev= 'unimplemented';
(*$ENDIF *)
This can be a bit tricky, since it needs something like tr on all
platforms and Lazarus has problems with \ in the ExecuteBefore...Command
Value setting. I'm sure somebody wants to tell us that MSEide handles
them without complaint.
--
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.freepascal.org/mailman/listinfo/lazarus