2016-12-31 97 views
0

我有一個空格分隔的字符串,表示包含我想添加的目錄,我們將其稱爲${MYSTRING},假設它包含字符串my/dir1 my/dir2 my/dir3將空格分隔的字符串添加到cmake`include_directories`

使用:

include_directories(${MYSTRING}) 

結果不正確的生成文件,作爲被添加的CXX_FLAGS是:

-Imy/dir1 my/dir2 my/dir3 

不是:

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

反正我有可以工作在這附近?該字符串是通過外部命令生成的,我寧願不必依賴外部工具,如sed

+0

我「覺得」你應該能夠簡單地使用:'設置(as_list $ {mystring都})'然後'include_directories($ {as_list})' – Frank

+3

[將CMAKE中的字符串拆分爲列表的常用方法是什麼?](http://stackoverflow.com/questions/5272781/what-is-common-way-到分割字符串到列表與 - CMake的) – nbubis

回答

0

使用separate_arguments這需要值的空格隔開的字符串,並把它變成一個列表:

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