mirror of
https://github.com/estkme-group/lpac
synced 2025-06-29 16:22:57 +02:00
* chore: enable LTO by default and add w/o LTO CI for debug * Better performance, small size, in theory. * Cover more test points. Signed-off-by: Coelacanthus <uwu@coelacanthus.name> * fix: github action failed --------- Signed-off-by: Coelacanthus <uwu@coelacanthus.name> Co-authored-by: septs <github@septs.pw>
68 lines
1.8 KiB
Bash
Executable file
68 lines
1.8 KiB
Bash
Executable file
#!/bin/bash
|
|
SCRIPT_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd)
|
|
|
|
source "$SCRIPT_DIR/functions.sh"
|
|
|
|
set -euo pipefail
|
|
|
|
BUILD="$(mktemp -d)"
|
|
ARTIFACT="$WORKSPACE/build"
|
|
|
|
cd "$BUILD" || exit 1
|
|
|
|
mkdir -p "$BUILD/output"
|
|
mkdir -p "$ARTIFACT"
|
|
|
|
case "${1:-}" in
|
|
make)
|
|
cmake "$WORKSPACE"
|
|
make -j
|
|
copy-license "$BUILD/output"
|
|
copy-usage "$BUILD/output"
|
|
create-bundle "$ARTIFACT/lpac-$KERNEL-$MATCHINE.zip" "$BUILD/output"
|
|
;;
|
|
make-without-lto)
|
|
cmake -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=OFF "$WORKSPACE"
|
|
make -j
|
|
copy-license "$BUILD/output"
|
|
copy-usage "$BUILD/output"
|
|
create-bundle "$ARTIFACT/lpac-$KERNEL-$MATCHINE-without-lto.zip" "$BUILD/output"
|
|
;;
|
|
debian)
|
|
cmake "$WORKSPACE" -DCPACK_GENERATOR=DEB
|
|
make -j package
|
|
cp lpac_*.deb "$ARTIFACT"
|
|
;;
|
|
mingw)
|
|
cmake "$WORKSPACE" -DCMAKE_TOOLCHAIN_FILE=./cmake/linux-mingw64.cmake
|
|
make -j
|
|
copy-license "$BUILD/output"
|
|
copy-curl-win "$BUILD/output"
|
|
copy-usage "$BUILD/output"
|
|
create-bundle "$ARTIFACT/lpac-windows-x86_64-mingw.zip" "$BUILD/output"
|
|
;;
|
|
woa-mingw)
|
|
TOOLCHAIN="$(download "$MINGW32_TOOLCHAIN_BLOB")"
|
|
cmake "$WORKSPACE" -DCMAKE_TOOLCHAIN_FILE=./cmake/linux-mingw64-woa.cmake "-DTOOLCHAIN_BIN_PATH=$TOOLCHAIN/bin"
|
|
make -j
|
|
rm -rf "$TOOLCHAIN"
|
|
copy-license "$BUILD/output"
|
|
copy-curl-woa "$BUILD/output"
|
|
copy-usage "$BUILD/output"
|
|
create-bundle "$ARTIFACT/lpac-windows-arm64-mingw.zip" "$BUILD/output"
|
|
;;
|
|
woa-zig)
|
|
cmake "$WORKSPACE" -DCMAKE_TOOLCHAIN_FILE=./cmake/aarch64-windows-zig.cmake
|
|
make -j
|
|
copy-license "$BUILD/output"
|
|
copy-curl-woa "$BUILD/output"
|
|
copy-usage "$BUILD/output"
|
|
create-bundle "$ARTIFACT/lpac-windows-arm64-zig.zip" "$BUILD/output"
|
|
;;
|
|
*)
|
|
echo "Usage: $0 {make,debian,mingw,woa-mingw,woa-zig}"
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
rm -rf "$BUILD"
|