【发布时间】:2018-05-21 13:10:11
【问题描述】:
我试图在构建过程中将我的编译语言文件复制到我的输出目录中。我已经完成了复制,但没有创建目录。经过大量谷歌搜索后,我想出了这个:
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 管道中生成包含语言文件的工件。
【问题讨论】: