CMake: różnica między $ {} a „$ {}”
Jaka jest różnica w cmake między czymś takim jak:
set(any_new_var ${old_var})
i
set(any_new_var "${old_var}")
Jakieś ważne różnice? Kiedy mam użyć jednego lub drugiego formularza?
Na przykład staram się wykonać następny mini test
# test.cmake
# Variable 'a' isn't defined.
set(hola "${a}")
# message(${hola})
message("${hola}")
Wynik tego mini-testu (cmake -P test.cmake) jest pustą linią (ponieważ „a” nie jest zdefiniowane). Jeśli odkomentuję pierwszą wiadomość, cmake zgłosi błąd wiadomości:
CMake Error at prueba.cmake:6 (message):
message called with incorrect number of arguments
Dlaczego w drugim przypadku nie rzuca i nie błąd, ale pusta linia?