Qt. Автоматическое добавление версии для приложения

В файле .pro я могу установить версию приложения, например:

VERSION = <some version>

Есть ли способ сделать это автоматически (например, получить значение от Mercurial)?

Ответ 1

Если вы можете получить версию из командной строки, вы можете назначить ее переменной с помощью функции $$system qmake.

Итак, для mercurial вы можете попробовать:

# if the version tag is <major version>.<minor version> 
VERSION = $$system(hg parents --template '{latesttag}.{latesttagdistance}')
# or if you fill all 3 positions manually: <major>.<minor>.<patchset>
VERSION = $$system(hg parents --template '{latesttag}')

Или, если вы используете номер локальной версии в качестве версии:

VERSION = $$system(hg parents --template '{rev}')

который будет печатать только это число без индикатора незафиксированных изменений ( "+" ).