我写了一个这样的cmake命令:
add_custom_target(testar
COMMAND clearmake -C gnu ${CMD_ARGS})
Run Code Online (Sandbox Code Playgroud)
CMD_ARGS在命令行上定义如下:
cmake -DCMD_ARGS="-d -w"
Run Code Online (Sandbox Code Playgroud)
但在生成的makefile中,-d -w改为-d\ -w; 它在所有空格之前添加了斜杠,结果是:
clearmake -C gnu -d\ -w
Run Code Online (Sandbox Code Playgroud)
如果我VERBATIM在 中使用选项add_custom_target,cmake 不会添加斜杠,但它会引用参数,例如
clearmake -C gnu "-d -w"
Run Code Online (Sandbox Code Playgroud)
这是不正确的,我想:
clearmake -C gnu -d -w
Run Code Online (Sandbox Code Playgroud)
生成上述目标所需的语法是什么?
参数应该是 a list,而“-d -w”不是(它只是一个字符串)。你可以做两件事:
CMD_ARGSadd_custom_targetlist命令中的任何内容都不add_custom_target需要更改,CMake 的输入不正确,可以用 1 修复或用 2 处理。
| 归档时间: |
|
| 查看次数: |
5142 次 |
| 最近记录: |