KDEClangFormatΒΆ
This module provides a functionality to format the source code of your repository according to a predefined KDE clang-format file.
This module provides the following function:
kde_clang_format(<files>)
Using this function will create a clang-format target that will format all
<files>
passed to the function with the predefined KDE clang-format style.
To format the files you have to invoke the target with make clang-format
or ninja clang-format
.
Once the project is formatted it is recommended to enforce the formatting using a pre-commit hook,
this can be done using KDEGitCommitHooks
.
The .clang-format
file from ECM will be copied to the source directory. This file should not be
added to version control. It is recommended to add it to the .gitignore
file: /.clang-format
.
Since 5.79: If the source folder already contains a .clang-format file it is not overwritten.
Since version 5.80 this function is called by default in KDEFrameworkCompilerSettings
. If directories should be excluded from
the formatting a .clang-format file with DisableFormat: true
and SortIncludes: false
should be created.
Example usage:
include(KDEClangFormat)
file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h *.hpp *.c)
kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES})
To exclude directories from the formatting add a .clang-format
file in the directory with the following contents:
DisableFormat: true
SortIncludes: false
Since 5.64