今天用cmake封装了个函数,需要传入list参数,但是函数内部遍历不成功,经过研究总结了一些注意事项分享给大家。
一、问题展现
macro(print_list target)
foreach(item ${target})
message(STATUS "${item}")
endforeach()
endmacro(print_list target)
set(my_list
"item1"
"item2"
"item3"
)
# Test
message("***********************")
print_list(${my_list})
message("***********************")
测试结果:
只打印了一个item,为什么呢?
二、修改方案(任选一种)
1. 传入参数加双引号
2. 使用${ARGV} 获取参数
谢谢支持,大家以后编写注意被坑⚠️