Format.cmake
clang-format for CMake
About
Format.cmake adds three additional targets to your CMake project.
formatShows which files are affected by clang-formatcheck-formatErrors if files are affected by clang-format (for CI integration)fix-formatApplies clang-format to all affected files
To run the targets, invoke CMake with cmake --build <build directory> --target <target name>.
Demo
How to integrate
Using CPM.cmake (recommended)
Run the following from the project's root directory to add CPM to your project.
mkdir -p cmake
wget -O cmake/CPM.cmake https://raw.githubusercontent.com/TheLartians/CPM/master/cmake/CPM.cmakeAdd the following lines to the project's CMakeLists.txt after calling project(...).
include(cmake/CPM.cmake)
CPMAddPackage(
NAME Format.cmake
GITHUB_REPOSITORY TheLartians/Format.cmake
VERSION 1.2
)Using git submodules (not suited for libraries)
Run the following from the project's root directory.
git submodule add https://github.com/TheLartians/Format.cmake In add the following lines to the project's CMakeLists.txt after calling project(...).
add_subdirectory(Format.cmake)Dependencies
Format.cmake requires clang-format, CMake and python 2.7 or python 3.
