相关疑难解决方法(0)

Running a program/script from QMake

我们有一个相当大的代码库.绝大多数代码是使用qmake编译来生成makefile的.但是,有一些子项目可以通过运行批处理文件或运行其他程序来生成.

我希望能够使用qmake编译所有内容,但我无法弄清楚如何让qmake简单地运行脚本.

我尝试过的一件事是在我的专业文件中使用QMAKE_EXTRA_TARGETS,如下所示:

TEMPLATE = lib
SOURCES = placeholder.cpp
CONFIG += no_link staticlib
batch_runner.target   = placeholder.cpp
batch_runner.commands = my_batch_file.bat
QMAKE_EXTRA_TARGETS   = batch_runner
Run Code Online (Sandbox Code Playgroud)

然后我必须让批处理文件生成placeholder.cpp,如下所示:

# do the real work here
# ...
# create placeholder.cpp so qmake and nmake are happy
echo // dummy >> placeholder.cpp
Run Code Online (Sandbox Code Playgroud)

这似乎工作正常.麻烦的是它有些笨拙.如果我没有指定batch_runner.target(即我将其留空)或者没有将placeholder.cpp放在SOURCES中,则批处理文件永远不会运行.这是因为qmake没有使batch_runner.commands成为Makefile中任何其他依赖项的操作.

有没有更好的方法让QMake构造一个Makefile,以便在Makefile执行时运行脚本?

qt qmake nmake makefile

16
推荐指数
3
解决办法
2万
查看次数

标签 统计

makefile ×1

nmake ×1

qmake ×1

qt ×1