将clang格式工具添加到makefile中的现有项目

时间:2015-07-24 09:22:46

标签: linux unix makefile clang-format

我想在我的项目中添加clang格式工具以遵循特定的编码样式。我已经有了project和makefile。我应该如何使用makefile

将clang-format工具集成到我的项目中

谢谢!

1 个答案:

答案 0 :(得分:1)

首先,您需要clang-formatclang-format-diff.py

这是一个python脚本,它以递归方式格式化目录中的所有c / c ++源/头文件:

import os

cpp_extensions = (".cpp", ".cxx", ".c++", ".cc", ".cp", ".c", ".i", ".ii", ".h", ".h++", ".hpp", ".hxx", ".hh", ".inl", ".inc", ".ipp", ".ixx", ".txx", ".tpp", ".tcc", ".tpl")

for root, dirs, files in os.walk("src"):
    for file in files:
        if file.endswith(cpp_extensions):
            os.system("clang-format -i -style=file " + root + "/" + file)

我有一个.clang-format文件,其中包含自定义样式,因此-style=file参数。 -i用于就地编辑。

这可能不是最pythonic的方式,但它适用于我。你可以用bash重写它。

您可以将format目标添加到您的makefile中,如下所示:

format:
    python the_script.py

如果您希望只能格式化git中的脏文件(如here所述):

format:
    git diff -U0 HEAD^ | clang-format-diff.py -i -p1