我写了一个类似这样的cmake命令:
add_custom_target(testar
COMMAND clearmake -C gnu ${CMD_ARGS})
CMD_ARGS
是在命令行上定义的,例如:
cmake -DCMD_ARGS="-d -w"
但是在生成的 makefile 中,-d -w
被改成了 -d\ -w
;它在所有空格前添加了一个斜杠,导致结果为:
clearmake -C gnu -d\ -w
如果我在
add_custom_target
中使用VERBATIM
选项,CMake不会添加斜杠,但是会像这样引用参数:clearmake -C gnu "-d -w"
这是错误的,我想要:
clearmake -C gnu -d -w
生成上述目标所需的语法是什么?
COMMAND
中的前几个内容不需要用分号分隔?它是COMMAND clearmake -C gnu ${CMD_ARGS}
,但为什么不是COMMAND clearmake;-C;gnu;${CMD_ARGS}
? - David Doria