Добавить макрос необработанной строки, используя 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, чтобы предотвратить возникновение вышеуказанной ошибки?