Это хорошо поддерживается Cabal. Как следует (из xmonad):
Импорт Paths_$myprogram
- файл, создаваемый Cabal с большим количеством метаданных из файла .cabal, а также с модулем для обработки номеров версий:
import Paths_xmonad (version)
import Data.Version (showVersion)
Добавить оператор печати для печати поля 'version', предоставленного Paths_$myprogram
:
case args of
["--version"] -> putStrLn ("xmonad " ++ showVersion version)
Как правило, созданный Cabal файл Paths содержит следующие значения: dist/build/autogen/
version,
getBinDir, getLibDir, getDataDir, getLibexecDir,
getDataFileName