我正在尝试将编译的语言文件在构建过程中复制到我的输出目录中。我有复制,但没有创建目录。经过大量的谷歌搜索后,我想出了这个:
LANGDIR = $$OUT_PWD
win32:CONFIG(debug, release|debug):LANGDIR = $$LANGDIR/debug/lang
win32:CONFIG(release, release|debug):LANGDIR = $$LANGDIR/release/lang
makeLang.commands += $${QMAKE_MKDIR} $$shell_path($${LANGDIR})
first.depends = $(first) makeLang
export(first.depends)
export(makeLang.commands)
QMAKE_EXTRA_TARGETS += first makeLang
这在很大程度上完成了工作,但是,当目录lang已经存在时,构建过程失败。我知道QMAKE_CHK_DIR_EXISTS
存在,但我不知道如何将其用作条件。我想也许它就像这个!$${QMAKE_CHK_DIR_EXISTS} $$shell_path($${LANGDIR}) : $${QMAKE_MKDIR} $$shell_path($${LANGDIR})
但是它只是崩溃了jom.exe;真的没想到要继续工作。
我也愿意接受更好的方法来做我想做的事情的建议。理想情况下,整个事情应该是独立于平台的,因此我可以在我的CI管道中生成包含语言文件的工件。
答案 0 :(得分:2)
只有当目录不存在时,才应使用QMAKE_MKDIR_CMD
创建目录。