Skip to content
Snippets Groups Projects
Commit a7b3bc59 authored by James R.'s avatar James R.
Browse files

alias-bootstrap.sh: rewrite git build alias for new build system

- Built-in help messages
- On-disk cache for last used preset
parent 797f78ab
No related branches found
No related tags found
No related merge requests found
...@@ -19,7 +19,7 @@ git config 'alias.cmake' '!cmake' ...@@ -19,7 +19,7 @@ git config 'alias.cmake' '!cmake'
# #
# git cmake --build # git cmake --build
# #
git config 'alias.build' '!p="${1##-*}"; [ "$p" ] && shift; git cmake --build --preset "${p:-default}"' git config 'alias.build' '!./custom-git-commands/git-build'
# Usage: git crossmake # Usage: git crossmake
# #
......
#!/bin/sh
git_dir="$(git rev-parse --git-dir)"
preset_file="$git_dir/custom-git-build-cached-preset"
from_cache=
if [ $# -ge 1 ]; then
preset="$1"
else
preset="$(cat "$preset_file" 2>/dev/null)"
if [ -n "$preset" ]; then
from_cache=1
fi
fi
case "$preset" in
''|help)
git cmake --list-presets
>&2 cat <<-EOF
This is the first you're running 'git build'.
Pick a preset from above and try again.
For example: 'git build ninja-x86_mingw_static_vcpkg-develop'
After this first run, you can run 'git build' by itself and it will re-use the preset from last time!
EOF
;;
*)
if [ -n "$from_cache" ]; then
echo "Using same build preset as last time: '$preset'"
else
echo "$preset" > "$preset_file"
fi
git cmake --build --preset "$preset"
if [ $? -ne 0 ]; then
>&2 cat <<-EOF
CMake ran into some sort of error.
Have you already ran 'git cmake --preset $preset' at least once?
EOF
fi
esac
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment