set( FORMAT_PATTERNS source/*.cpp source/*.hpp include/*.hpp test/*.cpp test/*.hpp CACHE STRING "; separated patterns relative to the project source dir to format" ) set(FORMAT_COMMAND clang-format CACHE STRING "Formatter to use") add_custom_target( format-check COMMAND "${CMAKE_COMMAND}" -D "FORMAT_COMMAND=${FORMAT_COMMAND}" -D "PATTERNS=${FORMAT_PATTERNS}" -P "${PROJECT_SOURCE_DIR}/cmake/lint.cmake" WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}" COMMENT "Linting the code" VERBATIM ) add_custom_target( format-fix COMMAND "${CMAKE_COMMAND}" -D "FORMAT_COMMAND=${FORMAT_COMMAND}" -D "PATTERNS=${FORMAT_PATTERNS}" -D FIX=YES -P "${PROJECT_SOURCE_DIR}/cmake/lint.cmake" WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}" COMMENT "Fixing the code" VERBATIM )