【发布时间】:2011-03-10 09:55:51
【问题描述】:
我想创建一个 cmake 宏,它用一些值填充给定变量,例如:
macro ( fillList list )
set( list a b c )
endmacro()
fillList( list )
cmake 似乎无法做到这一点。在 cmake 中实现这一点有什么建议吗?
【问题讨论】:
标签: cmake
我想创建一个 cmake 宏,它用一些值填充给定变量,例如:
macro ( fillList list )
set( list a b c )
endmacro()
fillList( list )
cmake 似乎无法做到这一点。在 cmake 中实现这一点有什么建议吗?
【问题讨论】:
标签: cmake
传递变量的名称并使用它:
macro(fillList list)
set(${list} a b c)
endmacro()
【讨论】:
您可以使用 PARENT_SCOPE
set(<variable> <value>... [PARENT_SCOPE])
如果给定了 PARENT_SCOPE 选项,则变量将设置在当前范围之上的范围内。每个新目录或函数都会创建一个新范围。此命令会将变量的值设置到父目录或调用函数中(以适用于手头的情况为准)。变量值的先前状态在当前范围内保持不变(例如,如果之前未定义,它仍然是未定义的,如果它有一个值,它仍然是那个值)。
【讨论】: