0
我想修改一个传递给函数的变量。这里是我写的代码:如何修改现有的变量?
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
。为什么是这样?有什么不同?
谢谢。这适用于“正常”变量,但不适用于列表变量。这是什么'$ {$ {var}}'?为什么我们需要双花括号? – nikitablack
@nikitablack这也适用于列表变量,因为CMake中的列表只有分号分隔的字符串。并且双引号需要用于双引号(首先是变量的名称,然后是该变量的内容) – Florian