Добавить макрос необработанной строки, используя 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 Warning (dev) в пути / к /project/CMakeLists.txt:68: Предупреждение о синтаксисе в коде cmake в столбце 85

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

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

0 ответов

Другие вопросы по тегам