Thanks, this is exactly what I was looking for!

I might look some more into exposing VCS tags too, however.

On Wed, Feb 22, 2012 at 12:25 PM, Roel van Dijk <vandijk.roel@gmail.com> wrote:
For each package "myPackage" Cabal generates a module containing,
among other things, the package's version as a Haskell value:

> import Paths_myPackage ( version )
> import Data.Version  ( showVersion )
> main = showVersion version

See also "Accessing data files from package code" in
http://www.haskell.org/cabal/users-guide/

I do not now how to expose information from the VCS.

2012/2/22 Eugene Kirpichov <ekirpichov@gmail.com>:
> Hi,
>
> I'd like my program to print something like "this is $program 1.0.4 git
> 45fea6b" when invoked with --version, or at least just the 1.0.4 part.
>
> Can Cabal expose the version as a preprocessor macro by default, or do I
> have to use Build-Type: Custom and add a preprocessing step of my own?



--
Eugene Kirpichov
Principal Engineer, Mirantis Inc. http://www.mirantis.com/
Editor, http://fprog.ru/