CMake 命令在小写、大写和混合大小写下均有效。然而,将所有这些内容混合在一个文件中会降低 CMake 代码的可读性。
有没有一种工具可以自动纠正这种风格不一致的情况?
steveire 的答案链接到正确的资源,但让我明确解释一下,以防这些链接消失。
CMake 命令不区分大小写,但根据 CMake 开发人员 Brad King 在 2012 年的说法,建议使用小写字母:
古老的 CMake 版本需要大写命令。稍后的命令
名称变得不区分大小写。现在首选的样式是小写。
允许转换我的项目的 shell 代码CMakeLists.txt
文件转换为小写的灵感来自 steveire 答案链接背后的代码:
cmake --help-command-list \
| while read c; do
echo 's/\([^a-zA-Z_]\|^\)'"$c"'\(\s*\)(/\1'"$c"'\2(/gI'
done > convert.sed
git ls-files -z -- '*CMakeLists.txt' | xargs -0 sed -i -f convert.sed
它有以下改进:
-
grep -v "cmake version"
不再需要了,因为似乎--help-command-list
输出不再包含该内容
- 原始正则表达式包含
\b
这使得它与 GNU sed 4.2.2 不匹配
- 相反,cmake 命令前面必须有非字母/下划线或行开头
- 不要将 cmake 命令转换为全部大写,而是使正则表达式不区分大小写。这还将查找并转换混合大小写的出现,例如
Find_Package
.
- 没有特定于 cmake 代码库的部分。修改以适合您的。这个简单的构造对我来说已经足够了。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)