mirror of
https://github.com/Gioni06/terminal.css
synced 2025-03-06 22:59:03 -05:00
38 lines
1.2 KiB
Bash
Executable File
38 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Define the app name and the list of platforms and architectures
|
|
APP_NAME="terminalcss-builder"
|
|
PLATFORMS=("windows" "linux" "darwin") # darwin is for macOS
|
|
ARCHITECTURES=("amd64" "arm64" "386") # 386 is for x86 (32-bit)
|
|
|
|
# Create a directory for the builds if it doesn't exist
|
|
mkdir -p builds
|
|
|
|
# Loop through platforms and architectures and build for each
|
|
for PLATFORM in "${PLATFORMS[@]}"; do
|
|
for ARCH in "${ARCHITECTURES[@]}"; do
|
|
# If Platform is darwin, then ARCH must be amd64 or arm64
|
|
if [ "$PLATFORM" == "darwin" ] && [ "$ARCH" != "amd64" ] && [ "$ARCH" != "arm64" ]; then
|
|
continue
|
|
fi
|
|
# Set the output binary name, including .exe suffix for Windows
|
|
OUTPUT_NAME="./builds/$APP_NAME-$PLATFORM-$ARCH"
|
|
if [ "$PLATFORM" == "windows" ]; then
|
|
OUTPUT_NAME+=".exe"
|
|
fi
|
|
|
|
# Set environment variables for cross-compilation
|
|
GOOS=$PLATFORM GOARCH=$ARCH go build -o $OUTPUT_NAME
|
|
|
|
# Verify if build was successful
|
|
if [ $? -ne 0 ]; then
|
|
echo "An error has occurred! Aborting the script execution..."
|
|
exit 1
|
|
fi
|
|
|
|
echo "Built $OUTPUT_NAME"
|
|
done
|
|
done
|
|
|
|
echo "Build process completed."
|