【问题标题】:Returning values from a cmake macro从 cmake 宏返回值
【发布时间】:2011-03-10 09:55:51
【问题描述】:

我想创建一个 cmake 宏,它用一些值填充给定变量,例如:

macro ( fillList list )    
    set( list a b c )
endmacro()

fillList( list )

cmake 似乎无法做到这一点。在 cmake 中实现这一点有什么建议吗?

【问题讨论】:

    标签: cmake


    【解决方案1】:

    传递变量的名称并使用它:

    macro(fillList list)
      set(${list} a b c)
    endmacro()
    

    【讨论】:

      【解决方案2】:

      您可以使用 PARENT_SCOPE

      set(<variable> <value>... [PARENT_SCOPE])

      如果给定了 PARENT_SCOPE 选项,则变量将设置在当前范围之上的范围内。每个新目录或函数都会创建一个新范围。此命令会将变量的值设置到父目录或调用函数中(以适用于手头的情况为准)。变量值的先前状态在当前范围内保持不变(例如,如果之前未定义,它仍然是未定义的,如果它有一个值,它仍然是那个值)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-02-10
        • 1970-01-01
        相关资源
        最近更新 更多