Мне нужно добавить опцию компилятора, которая содержит двойные кавычки и пробел для цели в моем проекте. Я использую target_compile_options
, чтобы добавить опцию.
Когда я добавляю эту опцию, как я это делал бы в командной строке, CMake экранирует "
с \
и добавляет дополнительные "
(я полагаю, что вторая из-за пробелов), тем самым нарушая компиляцию.
Команда CMakeLists.txt:
target_compile_options(myTarget -Woption="PARAM VALUE" -otherOption)
Выход:
compiler.exe "-Woption=\"PARAM VALUE\"" -otherOption -o myTarget.o -c myTarget.ext
Желаемый вывод:
compiler.exe -Woption="PARAM VALUE" -otherOption -o myTarget.o -c myTarget.ext
Полагаю, у меня две проблемы. Один избегает двойных кавычек, а второй - пробелов.
Вопрос
Можно ли добавить опцию, содержащую двойные кавычки и пробелы, в опции компилятора? Если так, может кто-нибудь указать мне правильное направление, как это сделать?
Примечания
Я использую кросс-компилятор, поэтому я сделал пример универсальным, но в случае, если он играет роль, цель компилируется следующим образом:
set(CMAKE_${lang}_COMPILE_OBJECT "<CMAKE_${lang}_COMPILER> <FLAGS> <INCLUDES> -o <OBJECT> -c <SOURCE>")
cmake версия 3.12
Платформа сборки: Windows