CMAKE字符串比较失败

时间:2016-03-18 15:14:56

标签: cmake

我想在我的CMakeLists文件中选择添加一些库路径,并且这样做的方法是将变量设置为:

set(MYLIBDIR "DEFAULT")

如果用户想要指定自定义目录,他会将其更改为:

set(MYLIBDIR /path/to/dir1
/path/to/dir2)

因此,为了检查用户是否确实提供了额外的目录,我检查:

if(NOT ${MYLIBDIR} STREQUAL "DEFAULT")
 link_directories(${MYLIBDIR})
endif()

当我尝试这样做时,我从cmake收到错误。 有没有办法在字符串比较之前连接变量的所有元素?

1 个答案:

答案 0 :(得分:4)

将我的评论转化为答案

只需在变量引用周围加上引号即可实现连接列表:

if(NOT "${MYLIBDIR}" STREQUAL "DEFAULT")

相同
if(NOT "/path/to/dir1;/path/to/dir2" STREQUAL "DEFAULT")

但我会建议

if(NOT MYLIBDIR STREQUAL "DEFAULT")

有关详细信息,请参阅