I would like my cabalised program to have a --version
switch.
I would like it to report the same version as is present in the .cabal file.
If I have to update the version number separately in my Haskell source code as well as in the .cabal file, I will eventually get them out of sync.
So, how can my program, while being compiled under cabal, get its version number from the .cabal file?
This is well supported with Cabal. As follows (from xmonad):
Import
Paths_$myprogram
- a file Cabal creates with lots of metadata from the .cabal file, along with a the module for handling version numbers:Add a print statement to print the 'version' field provided by
Paths_$myprogram
:In general, Cabal's generated Paths file contains the following values, in
dist/build/autogen/