我有一个空格分隔的字符串,表示我想要添加的包含目录,让我们称之为${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
之类的外部工具。
答案 0 :(得分:0)
使用separate_arguments
,它采用以空格分隔的值字符串并将其转换为列表:
set(MY_LIST ${MYSTRING})
separate_arguments(MY_LIST)
include_directories(${MY_LIST})