aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt65
1 files changed, 39 insertions, 26 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5fd99b59f9..22b9a6a5ee 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -21,6 +21,9 @@ list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake")
# We don't support building in-tree.
include(PreventInTreeBuilds)
+include(Util)
+
+set(TOUCHES_DIR ${PROJECT_BINARY_DIR}/touches)
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
@@ -611,34 +614,44 @@ find_program(STYLUA_PRG stylua)
find_program(FLAKE8_PRG flake8)
find_program(UNCRUSTIFY_PRG uncrustify)
find_program(SHELLCHECK_PRG shellcheck)
-include(DefCmdTarget)
-def_cmd_target(lintlua ${LUACHECK_PRG} LUACHECK_PRG true)
-if(LUACHECK_PRG)
- add_custom_command(TARGET lintlua
- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
- COMMAND ${LUACHECK_PRG} -q runtime/ scripts/ src/ test/)
-endif()
-if(STYLUA_PRG)
- add_custom_command(TARGET lintlua
- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
- COMMAND ${STYLUA_PRG} --color=always --check runtime/)
-else()
- add_custom_command(TARGET lintlua COMMAND ${CMAKE_COMMAND} -E echo "STYLUA_PRG not found")
-endif()
-def_cmd_target(lintpy ${FLAKE8_PRG} FLAKE8_PRG false)
-if(FLAKE8_PRG)
- add_custom_command(TARGET lintpy
- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
- COMMAND ${FLAKE8_PRG} contrib/ scripts/ src/ test/)
-endif()
-def_cmd_target(lintsh ${SHELLCHECK_PRG} SHELLCHECK_PRG false)
-if(SHELLCHECK_PRG)
- add_custom_command(TARGET lintsh
- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
- COMMAND ${SHELLCHECK_PRG} scripts/vim-patch.sh)
-endif()
+
+add_glob_targets(
+ REQUIRED
+ TARGET lintlua-luacheck
+ COMMAND ${LUACHECK_PRG}
+ FLAGS -q
+ GLOB_DIRS runtime/ scripts/ src/ test/
+ GLOB_PAT *.lua
+ TOUCH_STRATEGY SINGLE
+ )
+
+add_glob_targets(
+ TARGET lintlua-stylua
+ COMMAND ${STYLUA_PRG}
+ FLAGS --color=always --check
+ GLOB_DIRS runtime/
+ GLOB_PAT *.lua
+ TOUCH_STRATEGY SINGLE
+ )
+
+add_custom_target(lintlua)
+add_dependencies(lintlua lintlua-luacheck lintlua-stylua)
include(InstallHelpers)
+add_glob_targets(
+ TARGET lintpy
+ COMMAND ${FLAKE8_PRG}
+ GLOB_DIRS contrib scripts src test
+ GLOB_PAT *.py
+ TOUCH_STRATEGY SINGLE
+ )
+
+add_glob_targets(
+ TARGET lintsh
+ COMMAND ${SHELLCHECK_PRG}
+ FILES scripts/vim-patch.sh
+ TOUCH_STRATEGY SINGLE
+ )
install_helper(
FILES ${CMAKE_SOURCE_DIR}/src/man/nvim.1