diff options
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 65 |
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 |