【发布时间】:2012-05-11 10:59:21
【问题描述】:
在.pro 文件中,我可以设置应用程序的版本,例如:
VERSION = <some version>
有没有办法自动执行此操作(例如从 Mercurial 获取值)?
【问题讨论】:
在.pro 文件中,我可以设置应用程序的版本,例如:
VERSION = <some version>
有没有办法自动执行此操作(例如从 Mercurial 获取值)?
【问题讨论】:
如果您可以从 shell 命令获取版本,则可以使用 $$system qmake 函数将其分配给变量。
所以,对于多变的,你可以试试:
# 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}')
只会打印没有未提交更改指示符 ('+') 的数字。
【讨论】:
replace()的帮助下去掉'+':VERSION = $$replace(VERSION, "+", "")