diff options
author | dundargoc <gocdundar@gmail.com> | 2022-11-01 14:29:17 +0100 |
---|---|---|
committer | dundargoc <gocdundar@gmail.com> | 2022-11-01 18:34:14 +0100 |
commit | aeb87f8b4a87e99c392e7ec11b29b715e1f31ac3 (patch) | |
tree | 03783db9a7d922898860433ea7595f44c4d8d8e8 | |
parent | b05d1943f063c382ea96b76d250877bc58297314 (diff) | |
download | rneovim-aeb87f8b4a87e99c392e7ec11b29b715e1f31ac3.tar.gz rneovim-aeb87f8b4a87e99c392e7ec11b29b715e1f31ac3.tar.bz2 rneovim-aeb87f8b4a87e99c392e7ec11b29b715e1f31ac3.zip |
build: add EXCLUDE option to add_glob_target
EXCLUDE filters out all elements containing regex, meaning it works on
both files and directories.
Also rename add_glob_targets to add_glob_target since only one target is
being created.
-rw-r--r-- | CMakeLists.txt | 6 | ||||
-rw-r--r-- | cmake/Util.cmake | 17 | ||||
-rwxr-xr-x | src/nvim/CMakeLists.txt | 2 |
3 files changed, 17 insertions, 8 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index e721402613..bd5a9edb6b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -611,7 +611,7 @@ find_program(STYLUA_PRG stylua) find_program(UNCRUSTIFY_PRG uncrustify) find_program(SHELLCHECK_PRG shellcheck) -add_glob_targets( +add_glob_target( REQUIRED TARGET lintlua-luacheck COMMAND ${LUACHECK_PRG} @@ -621,7 +621,7 @@ add_glob_targets( TOUCH_STRATEGY SINGLE ) -add_glob_targets( +add_glob_target( TARGET lintlua-stylua COMMAND ${STYLUA_PRG} FLAGS --color=always --check @@ -635,7 +635,7 @@ add_dependencies(lintlua lintlua-luacheck lintlua-stylua) include(InstallHelpers) -add_glob_targets( +add_glob_target( TARGET lintsh COMMAND ${SHELLCHECK_PRG} FILES scripts/vim-patch.sh diff --git a/cmake/Util.cmake b/cmake/Util.cmake index 343a729305..a86ced89d6 100644 --- a/cmake/Util.cmake +++ b/cmake/Util.cmake @@ -49,12 +49,13 @@ # simple be added to FILES # GLOB_DIRS - The directories to recursively search for files with extension # GLOB_PAT -# -function(add_glob_targets) +# EXCLUDE - List of paths to skip (regex). Works on both directories and +# files. +function(add_glob_target) cmake_parse_arguments(ARG "REQUIRED" "TARGET;COMMAND;GLOB_PAT;TOUCH_STRATEGY" - "FLAGS;FILES;GLOB_DIRS" + "FLAGS;FILES;GLOB_DIRS;EXCLUDE" ${ARGN} ) @@ -72,7 +73,15 @@ function(add_glob_targets) endif() foreach(gd ${ARG_GLOB_DIRS}) - file(GLOB_RECURSE globfiles ${PROJECT_SOURCE_DIR}/${gd}/${ARG_GLOB_PAT}) + file(GLOB_RECURSE globfiles_unnormalized ${PROJECT_SOURCE_DIR}/${gd}/${ARG_GLOB_PAT}) + set(globfiles) + foreach(f ${globfiles_unnormalized}) + file(TO_CMAKE_PATH "${f}" f) + list(APPEND globfiles ${f}) + endforeach() + foreach(exclude_pattern ${ARG_EXCLUDE}) + list(FILTER globfiles EXCLUDE REGEX ${exclude_pattern}) + endforeach() list(APPEND ARG_FILES ${globfiles}) endforeach() diff --git a/src/nvim/CMakeLists.txt b/src/nvim/CMakeLists.txt index aee6319770..6511fe6fbb 100755 --- a/src/nvim/CMakeLists.txt +++ b/src/nvim/CMakeLists.txt @@ -772,7 +772,7 @@ add_custom_target(uncrustify-version -D CONFIG_FILE=${PROJECT_SOURCE_DIR}/src/uncrustify.cfg -P ${PROJECT_SOURCE_DIR}/cmake/CheckUncrustifyVersion.cmake) -add_glob_targets( +add_glob_target( TARGET lintuncrustify COMMAND ${UNCRUSTIFY_PRG} FLAGS -c "${PROJECT_SOURCE_DIR}/src/uncrustify.cfg" -q --check |