aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordundargoc <33953936+dundargoc@users.noreply.github.com>2022-07-25 15:18:49 +0200
committerGitHub <noreply@github.com>2022-07-25 06:18:49 -0700
commite12035fc0ce2f94015e665e410d09f58647078ed (patch)
treedde9894e99c4f4bd2d9280169ea98443aa895366
parente12c62c1f7a7ebb957831ca1e0e49771e190a1a8 (diff)
downloadrneovim-e12035fc0ce2f94015e665e410d09f58647078ed.tar.gz
rneovim-e12035fc0ce2f94015e665e410d09f58647078ed.tar.bz2
rneovim-e12035fc0ce2f94015e665e410d09f58647078ed.zip
build(lint): check uncrustify version #19468
This to prevent the user from accidentally using the wrong uncrustify version.
-rw-r--r--cmake/CheckUncrustifyVersion.cmake13
-rwxr-xr-xsrc/nvim/CMakeLists.txt8
2 files changed, 21 insertions, 0 deletions
diff --git a/cmake/CheckUncrustifyVersion.cmake b/cmake/CheckUncrustifyVersion.cmake
new file mode 100644
index 0000000000..4812c24ace
--- /dev/null
+++ b/cmake/CheckUncrustifyVersion.cmake
@@ -0,0 +1,13 @@
+if(UNCRUSTIFY_PRG)
+ execute_process(COMMAND uncrustify --version
+ OUTPUT_VARIABLE user_version
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+ string(REGEX REPLACE "[A-Za-z_#-]" "" user_version ${user_version})
+
+ file(STRINGS ${CONFIG_FILE} required_version LIMIT_COUNT 1)
+ string(REGEX REPLACE "[A-Za-z_# -]" "" required_version ${required_version})
+
+ if(NOT user_version STREQUAL required_version)
+ message(FATAL_ERROR "Wrong uncrustify version! Required version is ${required_version} but found ${user_version}")
+ endif()
+endif()
diff --git a/src/nvim/CMakeLists.txt b/src/nvim/CMakeLists.txt
index 49d5f8a677..4b8774e598 100755
--- a/src/nvim/CMakeLists.txt
+++ b/src/nvim/CMakeLists.txt
@@ -789,6 +789,12 @@ foreach(sfile ${LINT_NVIM_SOURCES})
endforeach()
add_custom_target(lintc DEPENDS ${LINT_TARGETS})
+add_custom_target(uncrustify-version
+ COMMAND ${CMAKE_COMMAND}
+ -D UNCRUSTIFY_PRG=${UNCRUSTIFY_PRG}
+ -D CONFIG_FILE=${PROJECT_SOURCE_DIR}/src/uncrustify.cfg
+ -P ${PROJECT_SOURCE_DIR}/cmake/CheckUncrustifyVersion.cmake)
+
add_glob_targets(
TARGET lintuncrustify
COMMAND ${UNCRUSTIFY_PRG}
@@ -796,6 +802,8 @@ add_glob_targets(
FILES ${LINT_NVIM_SOURCES}
)
+add_dependencies(lintuncrustify uncrustify-version)
+
add_custom_target(
lintcfull
COMMAND