19 lines
695 B
CMake
19 lines
695 B
CMake
|
cmake_minimum_required(VERSION 3.22)
|
||
|
|
||
|
project(format-demo)
|
||
|
|
||
|
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||
|
add_custom_command(OUTPUT main-formatted.cc
|
||
|
DEPENDS main-unformatted.cc .clang-format .clang-tidy
|
||
|
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/main-unformatted.cc main-formatted.cc
|
||
|
COMMAND clang-format-16 -i main-formatted.cc
|
||
|
COMMAND clang-tidy-16 --fix --fix-notes -fix-errors
|
||
|
-fix-errors -p ${CMAKE_CURRENT_BINARY_DIR} main-formatted.cc
|
||
|
VERBATIM)
|
||
|
add_custom_target(format
|
||
|
DEPENDS main-formatted.cc
|
||
|
COMMENT "Formatting and linting sources"
|
||
|
SOURCES main-unformatted.cc ${CMAKE_CURRENT_BINARY_DIR}/main-formatted.cc
|
||
|
.clang-format .clang-tidy
|
||
|
VERBATIM)
|