aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt18
-rw-r--r--cmake/DefCmdTarget.cmake32
-rwxr-xr-xsrc/nvim/CMakeLists.txt2
3 files changed, 26 insertions, 26 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index ac67dad75c..dad0093cf0 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -618,20 +618,28 @@ find_program(SHELLCHECK_PRG shellcheck)
include(DefCmdTarget)
def_cmd_target(lintlua ${LUACHECK_PRG} LUACHECK_PRG true)
if(LUACHECK_PRG)
- add_custom_command(OUTPUT lintlua-cmd APPEND COMMAND ${LUACHECK_PRG} -q runtime/ scripts/ src/ test/)
+ 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(OUTPUT lintlua-cmd APPEND COMMAND ${STYLUA_PRG} --color=always --check runtime/)
+ add_custom_command(TARGET lintlua
+ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
+ COMMAND ${STYLUA_PRG} --color=always --check runtime/)
else()
- add_custom_command(OUTPUT lintlua-cmd APPEND COMMAND ${CMAKE_COMMAND} -E echo "STYLUA_PRG not found")
+ 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(OUTPUT lintpy-cmd APPEND COMMAND ${FLAKE8_PRG} contrib/ scripts/ src/ test/)
+ 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(OUTPUT lintsh-cmd APPEND COMMAND ${SHELLCHECK_PRG} scripts/vim-patch.sh)
+ add_custom_command(TARGET lintsh
+ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
+ COMMAND ${SHELLCHECK_PRG} scripts/vim-patch.sh)
endif()
include(InstallHelpers)
diff --git a/cmake/DefCmdTarget.cmake b/cmake/DefCmdTarget.cmake
index 1ee5cdd60e..48e90cf5c8 100644
--- a/cmake/DefCmdTarget.cmake
+++ b/cmake/DefCmdTarget.cmake
@@ -1,27 +1,19 @@
-# Defines a target named ${target} and a command with (symbolic) output
-# ${target}-cmd. If ${prg} is undefined the target prints "not found".
+# Defines a target named ${target}. If ${prg} is undefined the target prints
+# "not found".
#
-# - Use add_custom_command(…APPEND) to build the command after this.
-# - Use add_custom_target(…DEPENDS) to run the command from a target.
+# - Use add_custom_command(TARGET <target_name> ...) to append a command to the
+# target.
function(def_cmd_target target prg prg_name prg_fatal)
- # Define a mostly-empty command, which can be appended-to.
- add_custom_command(OUTPUT ${target}-cmd
- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
- COMMAND ${CMAKE_COMMAND} -E echo "${target}"
- )
- # Symbolic (does not generate an artifact).
- set_source_files_properties(${target}-cmd PROPERTIES SYMBOLIC "true")
+ add_custom_target(${target})
- if(prg OR NOT prg_fatal)
- add_custom_target(${target}
- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
- DEPENDS ${target}-cmd)
- if(NOT prg)
- add_custom_command(OUTPUT ${target}-cmd APPEND
+ if(NOT prg)
+ if(prg_fatal)
+ add_custom_command(TARGET ${target}
+ COMMAND ${CMAKE_COMMAND} -E echo "${target}: ${prg_name} not found"
+ COMMAND false)
+ else()
+ add_custom_command(TARGET ${target}
COMMAND ${CMAKE_COMMAND} -E echo "${target}: SKIP: ${prg_name} not found")
endif()
- else()
- add_custom_target(${target} false
- COMMENT "${target}: ${prg_name} not found")
endif()
endfunction()
diff --git a/src/nvim/CMakeLists.txt b/src/nvim/CMakeLists.txt
index 0d0fba265b..f465d911f9 100755
--- a/src/nvim/CMakeLists.txt
+++ b/src/nvim/CMakeLists.txt
@@ -805,7 +805,7 @@ add_custom_target(lintc DEPENDS ${LINT_TARGETS})
def_cmd_target(lintuncrustify ${UNCRUSTIFY_PRG} UNCRUSTIFY_PRG false)
if(UNCRUSTIFY_PRG)
- add_custom_command(OUTPUT lintuncrustify-cmd APPEND
+ add_custom_command(TARGET lintuncrustify
COMMAND ${CMAKE_COMMAND}
-D UNCRUSTIFY_PRG=${UNCRUSTIFY_PRG}
-D PROJECT_SOURCE_DIR=${PROJECT_SOURCE_DIR}