Cmake 如何修改现有变量?
我想修改传递给函数的变量。以下是我编写的代码:Cmake 如何修改现有变量?,cmake,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 如
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
如果我通过这样的变量-
测试(v)
,我还有其他输出:#1-123
,#2-v
,#3-ABC
。为什么会这样?有什么区别?您正在将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})
参考