入侵qmake的Makefile的其他变量

mac*_*etw 4 qt qmake gnu-make

在qmake的Makefile中,定义了一系列变量。我想再添加一个,由.pro文件定义。Makefile中的此部分如下所示:

DEL_DIR       = rmdir
MOVE          = mv -f
CHK_DIR_EXISTS= test -d
MKDIR         = mkdir -p
Run Code Online (Sandbox Code Playgroud)

我想补充:

TESTARGS     = -xunitxml -o xunitresults.xml
Run Code Online (Sandbox Code Playgroud)

关于原因的一些背景知识:当qmake使用“测试用例”创建Makefile时,它还会使“检查”目标看起来像这样:

check: first
         $(TESTRUNNER) ./$(QMAKE_TARGET) $(TESTARGS)
Run Code Online (Sandbox Code Playgroud)

在这里完整记录。

这对于自动单元测试确实非常强大!但是,我想在make文件的其他位置设置“ TESTARGS”。我怎样才能做到这一点?

mac*_*etw 5

我发现有一种添加变量的方法,但是没有我期望的方法。我无法通过以下方式定义“ TESTARGS”。我可以做的是在.pro文件中:

QMAKE_EXTRA_VARIABLES = FOO
FOO=BAR
Run Code Online (Sandbox Code Playgroud)

...但是,在Makefile中呈现的是这个(不是我一直在寻找的东西,但是也许有人在寻找它):

####### Custom Variables
EXPORT_FOO = BAR
Run Code Online (Sandbox Code Playgroud)