Предположим, у меня есть следующий фрагмент 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
. что приводит к синтаксической ошибке.
Я пытался использовать \
, чтобы избежать ;
, но безрезультатно.
Что я должен делать?