在 cmake 中,类似以下内容有什么区别:
set(any_new_var ${old_var})
和
set(any_new_var "${old_var}")
有什么重要的区别吗?我什么时候必须使用一种或另一种形式?
例如,我尝试下一个迷你测试
# test.cmake
# Variable 'a' isn't defined.
set(hola "${a}")
# message(${hola})
message("${hola}")
这个小测试(cmake -P test.cmake)的输出是一个空行(因为没有定义'a')。如果我取消注释第一条消息,cmake 会抛出消息错误:
CMake Error at prueba.cmake:6 (message):
message called with incorrect number of arguments
为什么在第二种情况下它不会抛出错误而是空行?