Qt. Automatically adding version for application

2019-02-06 10:00发布

问题:

In a .pro file, I can set version of application such:

VERSION = <some version>

Is there a way of doing this automatically (e.g. getting the value from Mercurial)?

回答1:

If you can get the version from a shell command, you can assign it to the variable with the $$system qmake function.

So, for mercurial, you could try:

# 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}')

Or if you are using the local revision number as the version:

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

which will only print that number without the uncommitted change indicator ('+').



标签: qt qmake