refactor(build): make installation of runtime/ more effective

Currently files to install in runtime/ is detected by recursive glob
pattern which has two problems:

- cmake needs to do a of work at config time and
  build/runtime/cmake_install.cmake becomes HUGE (2.5MB, biggest config file)
- we need to explicitly specify each file suffix used in the entire
  runtime, which is duplication of information.

These globs specify every single file in a subdirectory.
Thus, we can just install every runtime/ subdirectory as a single
install command. Furthermore, at the top-level, only .vim and .lua files
need to be installed.

Further possible refactor: we could move files which does not belong
in $PREFIX/runtime out of $REPO/runtime. Then runtime could be installed
with a single install_helper(DIRECTORY ...) command.
This commit is contained in:
bfredl
2023-03-07 15:00:51 +01:00
parent 706bcab75e
commit 30632dd21a
3 changed files with 13 additions and 36 deletions

View File

@@ -241,17 +241,9 @@ jobs:
fi
# Check that all runtime files were installed
for file in $(git -C runtime ls-files '*.vim' '*.ps' '*.dict' '*.py' '*.tutor'); do
for file in $(git -C runtime ls-files '*.vim' '*.ps' '*.dict' '*.py' '*.tutor' '*.awk' '*.sh' '*.bat'); do
if ! test -e "$INSTALL_PREFIX/share/nvim/runtime/$file"; then
printf "%s%s" 'It appears that %s is not installed.' "$file"
exit 1
fi
done
# Check that some runtime files are installed and are executables
for file in $(git -C runtime ls-files '*.awk' '*.sh' '*.bat'); do
if ! test -x "$INSTALL_PREFIX/share/nvim/runtime/$file"; then
printf "%s%s" 'It appears that %s is not installed or is not executable.' "$file"
printf "It appears that %s is not installed." "$file"
exit 1
fi
done