mirror of
https://github.com/Floriansylvain/RenewCMS.git
synced 2026-08-19 11:43:22 +02:00
tech: refact build script & added arm64 builds
This commit is contained in:
+18
-20
@@ -1,30 +1,28 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
export GOARCH=amd64
|
|
||||||
OUTPUT_DIR=./bin
|
OUTPUT_DIR=./bin
|
||||||
|
|
||||||
GO_FILE_PATH="./main/main.go"
|
GO_FILE_PATH="./main/main.go"
|
||||||
PROGRAM_NAME=GoCMS
|
PROGRAM_NAME=GoCMS
|
||||||
|
|
||||||
# Compile for Windows
|
platforms=("windows/amd64" "windows/arm64" "linux/amd64" "linux/arm64" "darwin/amd64" "darwin/arm64")
|
||||||
GOOS=windows go build -o "$OUTPUT_DIR/${PROGRAM_NAME}_windows.exe" "$GO_FILE_PATH"
|
|
||||||
if [ $? -ne 0 ]; then
|
|
||||||
echo "Compilation for Windows failed."
|
|
||||||
exit $?
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Compile for Linux
|
for platform in "${platforms[@]}"
|
||||||
GOOS=linux go build -o "$OUTPUT_DIR/${PROGRAM_NAME}_linux" "$GO_FILE_PATH"
|
do
|
||||||
if [ $? -ne 0 ]; then
|
platform_split=(${platform//\// })
|
||||||
echo "Compilation for Linux failed."
|
GOOS=${platform_split[0]}
|
||||||
exit $?
|
GOARCH=${platform_split[1]}
|
||||||
fi
|
output_name="$OUTPUT_DIR/${PROGRAM_NAME}_${GOOS}_${GOARCH}"
|
||||||
|
|
||||||
|
if [ "$GOOS" = "windows" ]; then
|
||||||
|
output_name+='.exe'
|
||||||
|
fi
|
||||||
|
|
||||||
# Compile for macOS
|
echo "Building for $GOOS/$GOARCH..."
|
||||||
GOOS=darwin go build -o "$OUTPUT_DIR/${PROGRAM_NAME}_darwin" "$GO_FILE_PATH"
|
env GOOS=$GOOS GOARCH=$GOARCH go build -o "$output_name" "$GO_FILE_PATH"
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
echo "Compilation for macOS failed."
|
echo "Compilation for $GOOS/$GOARCH failed."
|
||||||
exit $?
|
exit $?
|
||||||
fi
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
echo "Compilation successful for all platforms."
|
echo "Compilation successful for all platforms."
|
||||||
|
|||||||
Reference in New Issue
Block a user