version-control - 如何在qmake/qtcreator中添加预构建步骤?

标签 version-control qmake prebuild build-numbers

我希望已编译的应用程序具有提交号,源文件校验和以及其他在编译过程中可用的东西。

在普通的Makefile中,我喜欢这样:

prog: VERSION source.c
    gcc -DVERSION=\"$(shell cat VERSION)\" source.c -o prog 

VERSION: .git
    git describe > VERSION

如何在qmake中使用类似的东西?

最佳答案

如果您将版本信息作为包含文件(例如“version.h”)而不是#define传递,则可以将以下内容添加到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

前三行告诉我们如何创建一个新的目标对象,称为“version”,该对象将生成“version.h”。通过执行命令“”来完成。目标取决于“.git”

“QMAKE_EXTRA_TARGETS”表示存在一个称为“版本”的新目标。

“PRE_TARGETDEPS”表示“version.h”必须存在,然后才能执行其他任何操作(如果尚未创建,则将其强制生成)。

关于version-control - 如何在qmake/qtcreator中添加预构建步骤?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5083441/

相关文章:

compiler-errors - Qmake找不到文件仍自动完成显示

c++ - Qt 不识别其他子项目

visual-studio - 在Visual Studio 2010的预生成步骤中吞下错误

linux - 如何检查 Ubuntu 上是否存在预构建包

qt - 如何使用QMake的子目录模板?

c# - 将一个 c# 项目构建成两个具有不同程序集名称和 guid 的相同 dll

git - 何时在 git-flow 开发中进行 QA

git - 从 Git Flow 中的发布中删除功能

git - HDD崩溃后恢复GIT存储库

iphone - 如何将 Xcode 与 SVN 集成