我希望qmake自动运行(python)脚本。这个脚本修改了makefile,因此必须在qmake生成makefile之后但在make之前执行。
到目前为止,我只找到了两种从qmake运行脚本的方法:
在我的.pro文件中使用system()
,但这在qmake之前运行 - 太快了:
win32: PYTHON=python.exe
else: PYTHON=python
system($$PYTHON ./test.py)
或使用QMAKE_EXTRA_TARGETS通过自定义构建目标,但这是由make调用的(太晚了)。
有没有办法在生成makefile之后从qmake运行脚本?
答案 0 :(得分:3)
由于我们在项目中使用TEMPLATE = subdirs
,因此我通过创建新的子目录来解决这个问题,该子目录由qmake作为最后一个解析。在其专业文件中,我使用TEMPLATE = aux
并通过system()
调用运行脚本。
这不是最好的解决方案,但效果很好。
答案 1 :(得分:1)
以下几年对我来说效果很好。
qmake
的.cmd或.sh脚本,然后创建脚本:
%QTDIR%\ bin \ qmake%* python.exe test.py
PATH
环境在.pro文件中添加以下内容:
QMAKE_QMAKE = myqmake
然后只需调用myqmake而不是qmake
如果脚本将在Qt环境之外运行(例如从IDE运行),则可能需要定义QTDIR和QMAKESPEC环境。
答案 2 :(得分:-1)
它具有以下您正在寻找的加速构建的功能:
自动为CMake目标生成单个编译单元(也称为统一源文件)。
我没有使用它,但建议在C++ best practice list。