【发布时间】:2022-01-06 01:51:24
【问题描述】:
我有一个公司内部工具,它使用以下模式在每个命令行获取多个文件
-i file1 -i file2
要将此工具添加到我的 CMake 构建中,我一直在使用 add_custom_target 命令,如下所示
add_custom_target(
CustomTarget
COMMAND ${CompanyTool} ${FILES} -o output"
DEPENDS ActualTarget)
只要 FILES 仅扩展为单个文件,此方法就可以正常工作,但是当我传入多个文件时,该命令开始仅产生垃圾输出。在检查 CMake 生成的 build.ninja 文件后,我发现 custom_target 命令被转换为一个调用,其中参数后跟这样的反斜杠
\ -i\ file\
我怀疑这就是这不起作用的原因。
现在为什么 F. CMake 会这样做,我该如何摆脱这种行为?
/编辑
在将 FILES 字符串传递给 add_custom_target 之前打印它我看不到那些反斜杠...
好的,知道了。在 foreach 循环中构建一个新列表并附加 -i 和文件。
【问题讨论】:
标签: string cmake add-custom-target