summary refs log tree commit diff
path: root/misc/build_scripts/makerelease.sh
diff options
context:
space:
mode:
Diffstat (limited to 'misc/build_scripts/makerelease.sh')
-rw-r--r--misc/build_scripts/makerelease.sh60
1 files changed, 60 insertions, 0 deletions
diff --git a/misc/build_scripts/makerelease.sh b/misc/build_scripts/makerelease.sh
new file mode 100644
index 0000000..0c51535
--- /dev/null
+++ b/misc/build_scripts/makerelease.sh
@@ -0,0 +1,60 @@
+#!/bin/bash
+
+# paths, change these as needed
+SOURCE_DIR=~/client/src
+MISC_DIR=~/client/misc
+BUILDS_DIR=~/client/release
+
+# ./ClassiCube
+make_nix_tar() {
+  cp $SOURCE_DIR/$1 ClassiCube
+  chmod +x ClassiCube
+  tar -zcvf ClassiCube.tar.gz ClassiCube
+  rm ClassiCube
+}
+
+# ./ClassiCube.app/Info.plist
+# ./ClassiCube.app/Contents/MacOS/ClassiCube
+# ./ClassiCube.app/Resources/ClassiCube.icns
+make_mac_tar() {
+  mkdir ClassiCube.app
+  mkdir ClassiCube.app/Contents
+  mkdir ClassiCube.app/Contents/MacOS
+  mkdir ClassiCube.app/Contents/Resources
+  
+  cp $SOURCE_DIR/$1 ClassiCube.app/Contents/MacOS/ClassiCube
+  chmod +x ClassiCube.app/Contents/MacOS/ClassiCube
+  
+  cp $MISC_DIR/info.plist ClassiCube.app/Contents/Info.plist
+  cp $MISC_DIR/CCIcon.icns ClassiCube.app/Contents/Resources/ClassiCube.icns
+  tar -zcvf ClassiCube.tar.gz ClassiCube.app
+  rm -rf ClassiCube.app
+}
+
+
+mkdir -p $BUILDS_DIR
+mkdir -p $BUILDS_DIR/win32 $BUILDS_DIR/win64 $BUILDS_DIR/osx32 $BUILDS_DIR/osx64
+mkdir -p $BUILDS_DIR/nix32 $BUILDS_DIR/nix64 $BUILDS_DIR/mac32 $BUILDS_DIR/mac64 
+mkdir -p $BUILDS_DIR/rpi32
+
+# edge doesn't respect download attribute, and having ClassiCube.64.exe breaks plugins
+cp $SOURCE_DIR/cc-w32-d3d.exe $BUILDS_DIR/win32/ClassiCube.exe
+cp $SOURCE_DIR/cc-w64-d3d.exe $BUILDS_DIR/win64/ClassiCube.exe
+
+# use tar to preserve chmod +x, so users don't have to manually do it
+cd $BUILDS_DIR/osx32/
+make_nix_tar cc-osx32
+cd $BUILDS_DIR/osx64/
+make_nix_tar cc-osx64
+cd $BUILDS_DIR/nix32/
+make_nix_tar cc-nix32
+cd $BUILDS_DIR/nix64/
+make_nix_tar cc-nix64
+cd $BUILDS_DIR/rpi32/
+make_nix_tar cc-rpi
+
+# generate ClassiCube.app for mac users
+cd $BUILDS_DIR/mac32/
+make_mac_tar cc-osx32
+cd $BUILDS_DIR/mac64/
+make_mac_tar cc-osx64