从CMake函数内部修改调用者变量的最佳实践是什么?假设
function(MyFunction IN_OUT_NAME)
... what to do here ...
string(APPEND ${IN_OUT_NAME} " and that")
... what to do here ...
endfunction()
需要做些什么才能使下面的代码片段
set(MY_MESSAGE "this")
MyFunction(MY_MESSAGE)
message(${MY_MESSAGE})
提供
this and that
注意事项:
- Modify a variable inside a function是关于JavaScript而不是CMake的
- Is JavaScript a pass-by-reference or pass-by-value language?是关于JavaScript而不是CMake的
1条答案
按热度按时间7y4bm7vi1#
只需使用
PARENT_SCOPE
将值导出到父作用域:另一种方法,从CMake 3.25开始可用-使用
return(PROPAGATE ...)
: