假设我有以下 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
这会导致语法错误。
我曾试图用\
逃避;
但无济于事。
我应该怎么办?