2012-05-11 5 views

答えて

7

シェルコマンドからバージョンを取得できる場合は、それを$$system qmake関数の変数に割り当てることができます。

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

のみコミットされていない変更せずにその番号が印刷されます:あなたはバージョンとしてローカルのリビジョン番号を使用している場合

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

をまたは:

ので、水銀のために、あなたが試みることができますインジケータ( '+')。

+0

ありがとうございました。しかし、より簡単なソリューションが存在します。 $$ system($$(PWD)/ hg id -n)を使用することができます。この場合、リポジトリのバージョン番号が返されます。しかし問題は、水銀が記号 "+"で数字を返すことができるということです。これはバージョン番号の無効な文字です。 – Milovidov

+0

@Milovidovあなたは 'replace 'の助けを借りて' + 'を取り除くことができます:' VERSION = $$ replace(VERSION、 "+"、 "") ' – Bill

+0

@Bill、dont'work。シンボル「+」は置き換えられません。 – Milovidov

関連する問題