代码之家  ›  专栏  ›  技术社区  ›  Frank-Rene Schäfer

CMake:如何从函数内部修改变量

  •  0
  • Frank-Rene Schäfer  · 技术社区  · 7 年前

    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
    

    不重复备注:

    1 回复  |  直到 7 年前
        1
  •  1
  •   KamilCuk    7 年前

    只需使用父作用域将值导出到父作用域。

    function(MyFunction IN_OUT_NAME)
       string(APPEND ${IN_OUT_NAME} " and that")
       set(${IN_OUT_NAME} "${${IN_OUT_NAME}}" PARENT_SCOPE)
    endfunction()
    
    set(MY_MESSAGE "this")
    MyFunction(MY_MESSAGE)
    message(${MY_MESSAGE})
    
    推荐文章