如何修改现有变量?

时间:2017-05-24 12:52:43

标签: cmake

我想修改传递给函数的变量。这是我写的代码:

FUNCTION(TEST var)
    set(${var} "ABC")
    message(${var}) # 2) 123
    set(${var} "ABC" PARENT_SCOPE)
ENDFUNCTION(TEST)

set(v "123")
message(${v}) # 1) 123
TEST(${v})
message(${v}) # 3) 123

为什么所有三个输出都打印123。我希望#2#3打印ABC

如果我像这样传递变量 - TEST(v) - 我还有其他输出:#1 - 123#2 - v#3 - ABC。为什么是这样?有什么区别?

1 个答案:

答案 0 :(得分:1)

您正在将v的内容传递给TEST()。所以它应该是:

FUNCTION(TEST var)
    set(${var} "ABC")
    message(${${var}})
    set(${var} "ABC" PARENT_SCOPE)
ENDFUNCTION(TEST)

set(v "123")
message(${v}) 
TEST(v)
message(${v}) 

<强>参考

相关问题