mirror of
https://github.com/VCMP-SqMod/SqMod.git
synced 2024-11-08 16:57:16 +01:00
42 lines
1.5 KiB
CMake
42 lines
1.5 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
|
||
|
COMMENT "Checking correct formatting according to .clang-format file using ${CLANG_FORMAT}"
|
||
|
)
|
||
|
|
||
|
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 (using ${CLANG_FORMAT}) and showing differences with latest commit"
|
||
|
)
|