如何防止使用叮当格式修改CMake替换字符串?

如何防止使用叮当格式修改CMake替换字符串?,cmake,clang-format,Cmake,Clang Format,我们将在CMake中“配置”文件Version.h: configure_file("Version.h.in" "${CMAKE_CURRENT_BINARY_DIR}/Version.h" @ONLY) 在这个文件中,我有CMake变量,例如: #define HELLO_VERSION_MAJOR @VERSION_MAJOR@ “叮当”格式在最后一个“@”前面加一个空格: #define HELLO_VERSION_MAJOR @VERSION_MAJOR @ 我应该修改什么规则来

我们将在CMake中“配置”文件Version.h:

configure_file("Version.h.in" "${CMAKE_CURRENT_BINARY_DIR}/Version.h" @ONLY)
在这个文件中,我有CMake变量,例如:

#define HELLO_VERSION_MAJOR @VERSION_MAJOR@
“叮当”格式在最后一个“@”前面加一个空格:

#define HELLO_VERSION_MAJOR @VERSION_MAJOR @

我应该修改什么规则来防止这种情况

clangformat
可以被告知跳过如下代码:

int formatted_code;
// clang-format off
    void    unformatted_code  ;
// clang-format on
void formatted_code_again;
这是至少6个月前添加的。也可以使用多行注释(这样只能跳过一行的一部分)


有关更多选项,请参阅。

为什么在文件中的*.in上运行铿锵共振峰?因为这是以git结尾的文件,我希望它的格式正确。生成的文件仅存在于生成目录中。
int /* clang-format off */ a    /* clang-format on */ = 5;