CMake :Как вывести точку с запятой (; )как опции команды в ДОБАВИТЬ _ПОЛЬЗОВАТЕЛЬСКАЯ _ЦЕЛЬ

Предположим, у меня есть следующий фрагмент 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

. что приводит к синтаксической ошибке.

Я пытался использовать \, чтобы избежать ;, но безрезультатно.

Что я должен делать?

10
задан Ding-Yi Chen 23 July 2012 в 05:04
поделиться