我希望已编译的应用程序具有提交号,源文件校验和以及其他在编译过程中可用的东西。
在普通的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”。通过执行命令“
“QMAKE_EXTRA_TARGETS”表示存在一个称为“版本”的新目标。
“PRE_TARGETDEPS”表示“version.h”必须存在,然后才能执行其他任何操作(如果尚未创建,则将其强制生成)。
关于version-control - 如何在qmake/qtcreator中添加预构建步骤?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5083441/