将空格分隔的字符串添加到cmake`include_directories`

时间:2016-12-31 21:25:30

标签: cmake

我有一个空格分隔的字符串,表示我想要添加的包含目录,让我们称之为${MYSTRING},让我们说它包含字符串my/dir1 my/dir2 my/dir3

使用:

include_directories(${MYSTRING})

导致错误的makefile,因为添加的CXX_FLAGS是:

-Imy/dir1 my/dir2 my/dir3

而不是:

-Imy/dir1 -Imy/dir2 -Imy/dir3

无论如何我可以解决这个问题吗?字符串是通过外部命令生成的,我宁愿不必依赖sed之类的外部工具。

1 个答案:

答案 0 :(得分:0)

使用separate_arguments,它采用以空格分隔的值字符串并将其转换为列表:

set(MY_LIST ${MYSTRING})
separate_arguments(MY_LIST)
include_directories(${MY_LIST})