aboutsummaryrefslogtreecommitdiff
path: root/cmake/RunLuacheck.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/RunLuacheck.cmake')
-rw-r--r--cmake/RunLuacheck.cmake22
1 files changed, 22 insertions, 0 deletions
diff --git a/cmake/RunLuacheck.cmake b/cmake/RunLuacheck.cmake
new file mode 100644
index 0000000000..5129541cd8
--- /dev/null
+++ b/cmake/RunLuacheck.cmake
@@ -0,0 +1,22 @@
+set(LUACHECK_ARGS -q "${LUAFILES_DIR}")
+if(DEFINED IGNORE_PATTERN)
+ list(APPEND LUACHECK_ARGS --exclude-files "${LUAFILES_DIR}/${IGNORE_PATTERN}")
+endif()
+if(DEFINED CHECK_PATTERN)
+ list(APPEND LUACHECK_ARGS --include-files "${LUAFILES_DIR}/${CHECK_PATTERN}")
+endif()
+if(DEFINED READ_GLOBALS)
+ list(APPEND LUACHECK_ARGS --read-globals "${READ_GLOBALS}")
+endif()
+
+execute_process(
+ COMMAND "${LUACHECK_PRG}" ${LUACHECK_ARGS}
+ WORKING_DIRECTORY "${LUAFILES_DIR}"
+ ERROR_VARIABLE err
+ RESULT_VARIABLE res
+)
+
+if(NOT res EQUAL 0)
+ message(STATUS "Output to stderr:\n${err}")
+ message(FATAL_ERROR "Linting tests failed with error: ${res}.")
+endif()