如何确保 CMakeLists.txt 和 FindXXX.cmake 的编码风格一致
How to ensure consistent coding style for CMakeLists.txt and FindXXX.cmake
有 clang-format 等,以确保不同开发人员对 .cpp 和 .h 文件的编码风格一致。
但是如何确保 CMake
中不同开发人员编写的 CMakeLists.txt 和 FindXXX.cmake 的编码风格一致?
我要执行的主要规则是一致的indention/space,upper/lower 大小写一致性,每行约束 80 个字符
将我的评论变成答案
我不知道有什么方法可以在 CMake
本身中强制执行 CMakeLists.txt
或其他 CMake 脚本文件的编码风格。但是您可以使用编辑器扩展和格式检查器:
- 确保的一些非常基本的东西
- 您可以配置:
indent_style
、indent_size
、tab_width
、end_of_line
、charset
、trim_trailing_whitespace
和 insert_final_newline
- 并且有许多编辑器可用的 EditorConfig 插件(如果不支持开箱即用)
使用 cmake-lint 您可以 check/filter 获得更多规则
- 它有过滤器,例如
convention/filename
、linelength
、package/consistency
、readability/logic
、readability/mixedcase
、readability/wonkycase
或 syntax
- 还有 Tools for upper/lower case consistency in CMake source
有 clang-format 等,以确保不同开发人员对 .cpp 和 .h 文件的编码风格一致。
但是如何确保 CMake
中不同开发人员编写的 CMakeLists.txt 和 FindXXX.cmake 的编码风格一致?
我要执行的主要规则是一致的indention/space,upper/lower 大小写一致性,每行约束 80 个字符
将我的评论变成答案
我不知道有什么方法可以在 CMake
本身中强制执行 CMakeLists.txt
或其他 CMake 脚本文件的编码风格。但是您可以使用编辑器扩展和格式检查器:
- 确保的一些非常基本的东西
- 您可以配置:
indent_style
、indent_size
、tab_width
、end_of_line
、charset
、trim_trailing_whitespace
和insert_final_newline
- 并且有许多编辑器可用的 EditorConfig 插件(如果不支持开箱即用)
- 您可以配置:
使用 cmake-lint 您可以 check/filter 获得更多规则
- 它有过滤器,例如
convention/filename
、linelength
、package/consistency
、readability/logic
、readability/mixedcase
、readability/wonkycase
或syntax
- 它有过滤器,例如
- 还有 Tools for upper/lower case consistency in CMake source