在查看ITK源代码时,我遇到了许多文件,例如this,它们具有后缀.cmake.in
并定义了许多变量(字符串?) ,其中值与变量名称相同,但前缀/附加@
个符号。例如:
set(ExternalData_OBJECT_STORES "@ExternalData_OBJECT_STORES@")
这些声明的目的是什么? @
符号在此上下文中是否具有特殊含义?我尝试在CMake Language Syntax Wiki中搜索此内容,但页面上没有出现@
。
答案 0 :(得分:3)
带后缀.in
的文件通常用于通过命令configure_file进行配置。此类文件中的所有序列@NAME@
都将转换为变量NAME
的值。
在configure_file
/ string(CONFIGURE)
符号@
之外,在CMake中没有特殊含义。