您的问题有 5 种通用方法。
- 利用
set()
set(MY_FLAGS "")
set(MY_FLAGS "${MY_FLAGS} -Werror=shadow")
set(MY_FLAGS "${MY_FLAGS} -Werror=return-local-addr")
- 使用
list(APPEND)
和替换;
空间
set(MY_FLAGS "")
list(APPEND MY_FLAGS "-Werror=shadow")
list(APPEND MY_FLAGS "-Werror=return-local-addr")
string(REPLACE ";" " " MY_FLAGS "${MY_FLAGS}")
- 使用
string(CONCAT)
. 注意:这并不意味着“附加”
set(MY_FLAGS "")
string(CONCAT MY_FLAGS "-Werror=shadow") #You get "-Werror=shadow"
string(CONCAT MY_FLAGS "-Werror=return-local-addr") #You get "-Werror=return-local-addr" instead of "-Werror=shadow -Werror=return-local-addr"
- 使用
string(APPEND)
.
set(MY_FLAGS "")
string(APPEND MY_FLAGS " -Werror=shadow") #Notice the leading space
string(APPEND MY_FLAGS " -Werror=return-local-addr") #Notice the leading space
- 利用
string(JOIN)
set(MY_FLAGS "")
string(JOIN " " MY_FLAGS "-Werror=shadow" "-Werror=return-local-addr")