Добавить макрос необработанной строки, используя target_compile_definitions

Я хочу добавить в CMakeLists.txt Макроэквивалент необработанной строки:

#if defined(Q_OS_WIN)
#define COMMPORT_NAME R"(\\.\COM1)"#elif defined(Q_OS_UNIX)
#define COMMPORT_NAME "/dev/ttyS0"#else
#error "platform not supported"#endif

Я попробовал следующее:

if(WIN32)
target_compile_definitions(${PROJECT_NAME} PRIVATE -DCOMMPORT_NAME="R"(\\.\COM1)"")
elseif(UNIX)
target_compile_definitions(${PROJECT_NAME} PRIVATE -DCOMMPORT_NAME="/dev/ttyS0")
else()
message(FATAL_ERROR "platform not supported")
endif()

Но я получаю ошибку:

CMake Предупреждение (dev) в пути / к / проекту / CMakeLists.txt: 68:
Предупреждение о синтаксисе в коде cmake в столбце 85

Аргумент не отделен от предшествующего токена пробелом.
Это предупреждение для разработчиков проектов. Используйте -Wno-dev, чтобы подавить его.

Можно ли использовать какие-то кавычки, например » в bash, чтобы предотвратить возникновение вышеуказанной ошибки?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]