“@”符号在 CMake 变量周围是否有特殊含义?

sud*_*all 3 cmake

同时期待通过ITK的源代码中,我接触过一些类似的文件这样,它的后缀.cmake.in和定义一些变量(字符串?),其中值是相同的变量名,而是用@符号预谋/附加。例如:

set(ExternalData_OBJECT_STORES "@ExternalData_OBJECT_STORES@")
Run Code Online (Sandbox Code Playgroud)

这些声明的目的是什么?@在这种情况下,符号是否具有特殊含义?我尝试在CMake Language Syntax Wiki 中搜索这个,但@页面上没有出现。

Tsy*_*rev 6

带有后缀的文件.in通常用于通过命令configure_file 进行配置@NAME@此类文件中的所有序列都被转换为 variable 的值NAME

configure_file/string(CONFIGURE)符号之外@在 CMake 中没有特殊含义。