mirror of
https://github.com/zeromq/libzmq.git
synced 2025-03-20 02:17:55 +00:00
44 lines
1.7 KiB
CMake
44 lines
1.7 KiB
CMake
# additional target to perform clang-format run, requires clang-format
|
|
|
|
# get all project files
|
|
file(GLOB_RECURSE ALL_SOURCE_FILES
|
|
RELATIVE ${CMAKE_CURRENT_BINARY_DIR}
|
|
${CMAKE_SOURCE_DIR}/src/*.cpp ${CMAKE_SOURCE_DIR}/src/*.h ${CMAKE_SOURCE_DIR}/src/*.hpp
|
|
${CMAKE_SOURCE_DIR}/tests/*.cpp ${CMAKE_SOURCE_DIR}/tests/*.h ${CMAKE_SOURCE_DIR}/tests/*.hpp
|
|
${CMAKE_SOURCE_DIR}/perf/*.cpp ${CMAKE_SOURCE_DIR}/perf/*.h ${CMAKE_SOURCE_DIR}/perf/*.hpp
|
|
${CMAKE_SOURCE_DIR}/tools/*.cpp ${CMAKE_SOURCE_DIR}/tools/*.h ${CMAKE_SOURCE_DIR}/tools/*.hpp
|
|
${CMAKE_SOURCE_DIR}/include/*.h
|
|
)
|
|
|
|
if("${CLANG_FORMAT}" STREQUAL "")
|
|
set(CLANG_FORMAT "clang-format")
|
|
endif()
|
|
|
|
add_custom_target(
|
|
clang-format
|
|
COMMAND ${CLANG_FORMAT} -style=file -i ${ALL_SOURCE_FILES}
|
|
)
|
|
|
|
function(JOIN VALUES GLUE OUTPUT)
|
|
string (REPLACE ";" "${GLUE}" _TMP_STR "${VALUES}")
|
|
set (${OUTPUT} "${_TMP_STR}" PARENT_SCOPE)
|
|
endfunction()
|
|
|
|
configure_file(builds/cmake/clang-format-check.sh.in clang-format-check.sh @ONLY)
|
|
|
|
add_custom_target(
|
|
clang-format-check
|
|
COMMAND chmod +x clang-format-check.sh
|
|
COMMAND ./clang-format-check.sh
|
|
#COMMAND ${CLANG_FORMAT} -style=file -output-replacements-xml ${ALL_SOURCE_FILES} >clang-format-replacements.xml
|
|
#COMMAND grep \"<replacement \" clang-format-replacements.xml >/dev/null && exit 1
|
|
COMMENT "Checking correct formatting according to .clang-format file"
|
|
)
|
|
|
|
add_custom_target(
|
|
clang-format-diff
|
|
COMMAND ${CLANG_FORMAT} -style=file -i ${ALL_SOURCE_FILES}
|
|
COMMAND git diff ${ALL_SOURCE_FILES}
|
|
COMMENT "Formatting with clang-format and showing differences with latest commit"
|
|
)
|