我想创建一个CMake函数为:
function(test src_list dst_list)
# do something
endfunction()
用法:
test(${my_list} chg_list)
这意味着,它my_list
是一个包含多个字段的列表,并且chg_list
将在测试函数内部收到一个修改后的列表。
我如何在CMake中创建一个函数来做到这一点?
在CMake中,函数具有自己的作用域,并且默认情况下,除非您将CACHE
或PARENT_SCOPE
作为参数传递给,否则变量的所有修改都是局部的set
。在函数内部,如果要在调用方范围内修改变量,则应使用:
set(${dst_list} <something> PARENT_SCOPE)
参见文档:
函数将打开新的作用域:有关详细信息,请参见set(var PARENT_SCOPE)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句