function(add_uncrustify_format) list(GET ARGN 0 _target) set(_sources ${ARGN}) list(REMOVE_AT _sources 0) find_program(UNCRUSTIFY_EXE NAMES uncrustify) if(UNCRUSTIFY_EXE) if(NOT TARGET uncrustify-format) add_custom_target(uncrustify-format) endif() list(APPEND OPTS -lCPP --replace --no-backup) if(EXISTS ${CMAKE_SOURCE_DIR}/cmake/etc/uncrustify/default.cfg) list(APPEND OPTS -c ${CMAKE_SOURCE_DIR}/cmake/etc/uncrustify/default.cfg) endif() add_custom_target(uncrustify-format-${_target} COMMAND ${UNCRUSTIFY_EXE} ${OPTS} ${_sources}) add_dependencies(uncrustify-format uncrustify-format-${_target}) else() message(WARNING "Uncrustify is not found") endif() endfunction()