使用target_compile_definitions

时间:2017-08-18 05:52:37

标签: c++ cmake rawstring

我想添加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() 

但是我收到了一个错误:

  

路径/到/ project / CMakeLists.txt的CMake警告(dev):68:     第85列的cmake代码中的语法警告

     

参数未通过空格与前一个标记分开。   此警告适用于项目开发人员。使用-Wno-dev来抑制它。

是否可以在bash中使用某种引号来防止出现上述错误?

0 个答案:

没有答案