diff options
-rw-r--r-- | .github/workflows/test.yml | 2 | ||||
-rw-r--r-- | CMakeLists.txt | 9 | ||||
-rw-r--r-- | cmake/Util.cmake | 13 |
3 files changed, 10 insertions, 14 deletions
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 14546cb371..bdec96babb 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -48,7 +48,7 @@ jobs: cmake --build .deps - if: success() || failure() && steps.abort_job.outputs.status == 'success' - run: cmake -B build -G Ninja + run: cmake -B build -G Ninja -D CI_LINT=ON - if: "!cancelled()" name: Determine if run should be aborted diff --git a/CMakeLists.txt b/CMakeLists.txt index abd3a57fc0..d0534731b0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -229,11 +229,14 @@ endif() # # Lint # -find_program(SHELLCHECK_PRG shellcheck) -find_program(STYLUA_PRG stylua) +option(CI_LINT "Abort if lint programs not found" OFF) +if(CI_LINT) + set(LINT_REQUIRED "REQUIRED") +endif() +find_program(SHELLCHECK_PRG shellcheck ${LINT_REQUIRED}) +find_program(STYLUA_PRG stylua ${LINT_REQUIRED}) add_glob_target( - REQUIRED TARGET lintlua-luacheck COMMAND ${DEPS_BIN_DIR}/luacheck FLAGS -q diff --git a/cmake/Util.cmake b/cmake/Util.cmake index b70f33a302..0d6fa2a4ce 100644 --- a/cmake/Util.cmake +++ b/cmake/Util.cmake @@ -4,7 +4,6 @@ # depends on the value of TOUCH_STRATEGY. # # Options: -# REQUIRED - Abort if COMMAND doesn't exist. # # Single value arguments: # TARGET - Name of the target @@ -53,7 +52,7 @@ # files. function(add_glob_target) cmake_parse_arguments(ARG - "REQUIRED" + "" "TARGET;COMMAND;GLOB_PAT;TOUCH_STRATEGY" "FLAGS;FILES;GLOB_DIRS;EXCLUDE" ${ARGN} @@ -61,14 +60,8 @@ function(add_glob_target) if(NOT ARG_COMMAND) add_custom_target(${ARG_TARGET}) - if(ARG_REQUIRED) - add_custom_command(TARGET ${ARG_TARGET} - COMMAND ${CMAKE_COMMAND} -E echo "${ARG_TARGET}: ${ARG_COMMAND} not found" - COMMAND false) - else() - add_custom_command(TARGET ${ARG_TARGET} - COMMAND ${CMAKE_COMMAND} -E echo "${ARG_TARGET} SKIP: ${ARG_COMMAND} not found") - endif() + add_custom_command(TARGET ${ARG_TARGET} + COMMAND ${CMAKE_COMMAND} -E echo "${ARG_TARGET} SKIP: ${ARG_COMMAND} not found") return() endif() |