configure_file("${CMAKE_CURRENT_SOURCE_DIR}/Config.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/Config.cmake" @ONLY)中@ONL的含义
时间: 2024-02-09 18:08:53 浏览: 151
configure file
@ONLY是configure_file()命令的一个选项,用于指定是否仅替换@VAR@格式的变量,并忽略所有其他形式的变量。当@ONLY选项设置为ON时,configure_file()命令只会替换输入文件中@VAR@格式的变量,并且不会替换其他任何形式的变量。
例如,在以下代码片段中,如果Config.cmake.in中包含了除@PACKAGE_INIT@以外的其他变量,这些变量将不会被替换:
```
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/Config.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/Config.cmake" @ONLY)
```
在这里,@PACKAGE_INIT@是一个CMake预定义的变量,它会被configure_file()命令替换成包含CMake导入命令的代码。而其他变量则不会被替换。
因此,当使用configure_file()命令创建配置文件时,通常需要设置@ONLY选项,以确保只替换需要替换的变量,而不会影响其他部分的文件内容。
阅读全文