1 # get all project files
2 file(GLOB_RECURSE ALL_SOURCE_FILES *.cpp *.c *.h *.m *.java)
3 # minimum version required
4 set(_CLANG_FORMAT_MINIMUM_VERSION 7.0.0)
6 find_program(CLANG_FORMAT
14 message(WARNING "clang-format not found in path! code format target not available.")
17 COMMAND ${CLANG_FORMAT} "--version"
18 OUTPUT_VARIABLE _CLANG_FORMAT_VERSION
19 RESULT_VARIABLE _CLANG_FORMAT_VERSION_FAILED
22 if (_CLANG_FORMAT_VERSION_FAILED)
23 message(WARNING "A problem was encounterd with ${CLANG_FORMAT}")
27 string(REGEX MATCH "([7-9]|[1-9][0-9])\\.[0-9]\\.[0-9]" CLANG_FORMAT_VERSION
28 "${_CLANG_FORMAT_VERSION}")
30 if (NOT CLANG_FORMAT_VERSION)
31 message(WARNING "problem parsing clang-fromat version for ${CLANG_FORMAT}")
35 if (${CLANG_FORMAT_VERSION} VERSION_LESS ${_CLANG_FORMAT_MINIMUM_VERSION})
36 message(WARNING "clang-format version ${CLANG_FORMAT_VERSION} not supported")
37 message(WARNING "Minimum version required: ${_CLANG_FORMAT_MINIMUM_VERSION}")
43 COMMAND ${CLANG_FORMAT}