Цель для автоматического добавления шаблонов комментариев
This commit is contained in:
parent
58573cebfc
commit
5068be6679
@ -10,11 +10,11 @@ function(myx_cmake_format_sources target)
|
|||||||
if(NOT TARGET myx-cmake-format-sources)
|
if(NOT TARGET myx-cmake-format-sources)
|
||||||
add_custom_target(myx-cmake-format-sources)
|
add_custom_target(myx-cmake-format-sources)
|
||||||
endif()
|
endif()
|
||||||
if(NOT TARGET myx-cmake-check-format-sources)
|
if(NOT TARGET myx-cmake-format-sources-check)
|
||||||
add_custom_target(myx-cmake-check-format-sources)
|
add_custom_target(myx-cmake-format-sources-check)
|
||||||
endif()
|
endif()
|
||||||
if(NOT TARGET myx-cmake-add-doxygen-comments)
|
if(NOT TARGET myx-cmake-doc-doxygen-append-comments)
|
||||||
add_custom_target(myx-cmake-add-doxygen-comments)
|
add_custom_target(myx-cmake-doc-doxygen-append-comments)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(EXISTS ${CMAKE_SOURCE_DIR}/.uncrustify.cfg)
|
if(EXISTS ${CMAKE_SOURCE_DIR}/.uncrustify.cfg)
|
||||||
@ -22,28 +22,48 @@ function(myx_cmake_format_sources target)
|
|||||||
COMMAND ${UNCRUSTIFY_EXE} --update-config-with-doc
|
COMMAND ${UNCRUSTIFY_EXE} --update-config-with-doc
|
||||||
-c ${CMAKE_SOURCE_DIR}/.uncrustify.cfg
|
-c ${CMAKE_SOURCE_DIR}/.uncrustify.cfg
|
||||||
-o ${CMAKE_BINARY_DIR}/uncrustify.cfg)
|
-o ${CMAKE_BINARY_DIR}/uncrustify.cfg)
|
||||||
list(APPEND UNCRUSTIFY_OPTS -L ERR -c ${CMAKE_BINARY_DIR}/uncrustify.cfg)
|
list(APPEND UNCRUSTIFY_OPTS -c ${CMAKE_BINARY_DIR}/uncrustify.cfg)
|
||||||
endif()
|
endif()
|
||||||
# cmake-format: off
|
# cmake-format: off
|
||||||
add_custom_target(${target}-check-format-sources-uncrustify
|
add_custom_target(${target}-format-sources-check-uncrustify
|
||||||
DEPENDS ${CMAKE_BINARY_DIR}/uncrustify.cfg
|
DEPENDS ${CMAKE_BINARY_DIR}/uncrustify.cfg
|
||||||
COMMAND ${UNCRUSTIFY_EXE} ${UNCRUSTIFY_OPTS} --check ${__sources})
|
COMMAND ${UNCRUSTIFY_EXE} ${UNCRUSTIFY_OPTS} --check ${__sources})
|
||||||
list(APPEND UNCRUSTIFY_OPTS --replace --no-backup)
|
list(APPEND UNCRUSTIFY_OPTS --replace --no-backup)
|
||||||
add_custom_target(${target}-format-sources-uncrustify
|
add_custom_target(${target}-format-sources-uncrustify
|
||||||
DEPENDS ${CMAKE_BINARY_DIR}/uncrustify.cfg
|
DEPENDS ${CMAKE_BINARY_DIR}/uncrustify.cfg
|
||||||
COMMAND ${UNCRUSTIFY_EXE} ${UNCRUSTIFY_OPTS} --mtime ${__sources})
|
COMMAND ${UNCRUSTIFY_EXE} ${UNCRUSTIFY_OPTS} --mtime ${__sources})
|
||||||
add_custom_target(${target}-add-doxygen-comments-uncrustify
|
file(GENERATE OUTPUT ${CMAKE_BINARY_DIR}/uncrustify-classheader.txt CONTENT
|
||||||
|
"/**
|
||||||
|
* @class $(fclass)
|
||||||
|
* @brief TODO
|
||||||
|
* @details TODO
|
||||||
|
*/")
|
||||||
|
file(GENERATE OUTPUT ${CMAKE_BINARY_DIR}/uncrustify-filefooter.txt CONTENT
|
||||||
|
"// EOF $(filename)")
|
||||||
|
file(GENERATE OUTPUT ${CMAKE_BINARY_DIR}/uncrustify-fileheader.txt CONTENT
|
||||||
|
"/**
|
||||||
|
* @file $(filename)
|
||||||
|
* @brief TODO
|
||||||
|
* @details TODO
|
||||||
|
*/")
|
||||||
|
file(GENERATE OUTPUT ${CMAKE_BINARY_DIR}/uncrustify-funcheader.txt CONTENT
|
||||||
|
"/**
|
||||||
|
* @fn $(fclass)::$(function)
|
||||||
|
* $(javaparam)
|
||||||
|
* @details TODO
|
||||||
|
*/")
|
||||||
|
add_custom_target(${target}-doc-doxygen-append-comments
|
||||||
DEPENDS ${CMAKE_BINARY_DIR}/uncrustify.cfg
|
DEPENDS ${CMAKE_BINARY_DIR}/uncrustify.cfg
|
||||||
COMMAND ${UNCRUSTIFY_EXE} ${UNCRUSTIFY_OPTS}
|
COMMAND ${UNCRUSTIFY_EXE} ${UNCRUSTIFY_OPTS}
|
||||||
--set cmt_insert_file_header=fileheader.txt
|
--set cmt_insert_class_header=uncrustify-classheader.txt
|
||||||
--set cmt_insert_file_footer=filefooter.txt
|
--set cmt_insert_file_footer=uncrustify-filefooter.txt
|
||||||
--set cmt_insert_func_header=funcheader.txt
|
--set cmt_insert_file_header=uncrustify-fileheader.txt
|
||||||
--set cmt_insert_class_header=classheader.txt
|
--set cmt_insert_func_header=uncrustify-funcheader.txt
|
||||||
--set cmt_insert_before_ctor_dtor=true ${__sources})
|
--set cmt_insert_before_ctor_dtor=true ${__sources})
|
||||||
# cmake-format: on
|
# cmake-format: on
|
||||||
add_dependencies(myx-cmake-check-format-sources ${target}-check-format-sources-uncrustify)
|
|
||||||
add_dependencies(myx-cmake-format-sources ${target}-format-sources-uncrustify)
|
add_dependencies(myx-cmake-format-sources ${target}-format-sources-uncrustify)
|
||||||
add_dependencies(myx-cmake-add-doxygen-comments ${target}-add-doxygen-comments-uncrustify)
|
add_dependencies(myx-cmake-format-sources-check ${target}-format-sources-check-uncrustify)
|
||||||
|
add_dependencies(myx-cmake-doc-doxygen-append-comments ${target}-doc-doxygen-append-comments)
|
||||||
else()
|
else()
|
||||||
message(STATUS "MyxCMake: uncrustify executable is not found")
|
message(STATUS "MyxCMake: uncrustify executable is not found")
|
||||||
endif()
|
endif()
|
||||||
@ -56,4 +76,9 @@ function(myx_cmake_format_sources target)
|
|||||||
else()
|
else()
|
||||||
message(STATUS "MyxCMake: dos2unix executable is not found")
|
message(STATUS "MyxCMake: dos2unix executable is not found")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(UNIX)
|
||||||
|
add_custom_target(${target}-format-sources-unexec COMMAND chmod -x ${__sources})
|
||||||
|
add_dependencies(myx-cmake-format-sources ${target}-format-sources-unexec)
|
||||||
|
endif()
|
||||||
endfunction()
|
endfunction()
|
||||||
|
Loading…
Reference in New Issue
Block a user