假设我有以下的CMake片段:
MACRO(ADD_CUSTOM_TARGET_COMMAND tag OUTPUT file)
ADD_CUSTOM_TARGET(tag
${ARGN}
)
ADD_CUSTOM_TARGET(OUTPUT file
${ARGN}
)
ENDMACRO()
ADD_CUSTOM_TARGET_COMMAND(tag
OUTPUT file
COMMAND git tag -a -m "${msg}" 1.0.0 HEAD
VERBATIM
)
如果msg
包含分号,例如"msg1;msg2"
,那么实际的命令将被扩展为:git -a -m "msg1" "msg2" 1.0.0. HEAD
这会导致语法错误。
我尝试使用 \
来转义 ;
,但是没有成功。
我该怎么办?