То, что вы ищете, это escape-символ CMake \
, который будет в паре с другим символом. Из CMake escape-последовательности документация:
A \
, за которой следует один из ()#" \#@^
, просто кодирует буквенный символ, не интерпретируя его как синтаксис.
Вы не указали ожидаемый результат, но вот несколько вариантов. Итак, если вы просто хотите поместить двойные кавычки вокруг переменной GIT_VERSION
, попробуйте это (как предложено @GAVD):
# Yields -DVERSION="2.23.0"
add_definitions(-DVERSION=\"${GIT_VERSION}\")
Вам даже не нужны экранирующие символы для одного наборакавычки в add_definitions()
:
# Yields -DVERSION="2.23.0"
add_definitions(-DVERSION="${GIT_VERSION}")
Если вы хотите добавить два набора двойных кавычек вокруг переменной, попробуйте следующее:
# Yields -DVERSION=""2.23.0""
add_definitions(-DVERSION="\"${GIT_VERSION}"\")
Если вы пытаетесь получить формат, показанный в вашей связанной записи , попробуйте это:
# Yields -DVERSION="\"2.23.0"\"
add_definitions(-DVERSION="\\\"${GIT_VERSION}"\\\")