Опция компилятора, содержащая двойные кавычки и компиляцию пробелов - PullRequest
0 голосов
/ 04 сентября 2018

Мне нужно добавить опцию компилятора, которая содержит двойные кавычки и пробел для цели в моем проекте. Я использую 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...