バージョン情報を#defineではなくインクルードファイル(たとえば「version.h」)として渡す場合は、qmakeファイルに次を追加できます。
# Define how to create version.h
version.target = version.h
version.commands = <PUT_YOUR_COMMANDS_HERE>
version.depends = .git
QMAKE_EXTRA_TARGETS += version
PRE_TARGETDEPS += version.h
最初の3行は、「version.h」を生成する「version」という新しいターゲットオブジェクトを作成する方法を示しています。コマンド「<PUT_YOUR_COMMANDS_HERE>」を実行して作成します。ターゲットは「.git」に依存しています
「QMAKE_EXTRA_TARGETS」は、「バージョン」と呼ばれる新しいターゲットがあることを示しています。
「PRE_TARGETDEPS」は、「version.h」が他の処理を実行する前に存在する必要があることを示します(まだ作成されていない場合は強制的に作成されます)。