aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/configure_macos.sh42
-rwxr-xr-xscripts/configure_ubuntu.sh11
-rw-r--r--[-rwxr-xr-x]scripts/macos_post_build.sh24
-rwxr-xr-xscripts/release_macos.sh22
4 files changed, 89 insertions, 10 deletions
diff --git a/scripts/configure_macos.sh b/scripts/configure_macos.sh
new file mode 100755
index 00000000..af08966f
--- /dev/null
+++ b/scripts/configure_macos.sh
@@ -0,0 +1,42 @@
+#!/bin/sh
+
+# This script fetches all build dependencies for MacOS
+# Tested on MacOS 10.14 (Mojave), Qt 5.13 and XCode 10.2
+
+# Exit on errors and unset variables
+set -eu
+
+ROOT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )/"
+
+cd ${ROOT_DIR}
+
+LIB_TARGET="../../lib"
+BASS_LINK="http://uk.un4seen.com/files/bass24-osx.zip"
+BASSOPUS_LINK="http://www.un4seen.com/files/bassopus24-osx.zip"
+DISCORD_RPC_LINK="https://github.com/discordapp/discord-rpc/releases/download/v3.4.0/discord-rpc-osx.zip"
+APNG_LINK="https://github.com/Skycoder42/QtApng/releases/download/1.1.2-2/qtapng_clang_64_5.13.0.tar.xz"
+
+# Easier if we don't need to worry about an existing tmp folder tbh smh
+# v Add a slash here for free tmp folder cleanup in true javascript community style
+rm -rf tmp
+mkdir tmp
+cd tmp
+
+curl -Ls ${BASS_LINK} -o bass.zip
+unzip -qq bass.zip
+cp libbass.dylib ${LIB_TARGET}
+
+curl -Ls ${BASSOPUS_LINK} -o bassopus.zip
+unzip -qq bassopus.zip
+cp libbassopus.dylib ${LIB_TARGET}
+
+curl -Ls ${DISCORD_RPC_LINK} -o discord_rpc.zip
+unzip -qq discord_rpc.zip
+cp discord-rpc/osx-dynamic/lib/libdiscord-rpc.dylib ${LIB_TARGET}
+
+curl -Ls ${APNG_LINK} -o apng.tar.xz
+tar -xf apng.tar.xz
+cp clang_64/plugins/imageformats/libqapng.dylib ../../lib
+
+cd ..
+rm -rf tmp
diff --git a/scripts/configure_ubuntu.sh b/scripts/configure_ubuntu.sh
index 3817997c..159dc4d1 100755
--- a/scripts/configure_ubuntu.sh
+++ b/scripts/configure_ubuntu.sh
@@ -1,6 +1,13 @@
-#!/bin/bash
+#!/bin/sh
-#assumes a somewhat recent 64-bit ubuntu
+# Assumes a somewhat recent 64-bit ubuntu
+
+# Exit on errors and unset variables
+set -eu
+
+ROOT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )/"
+
+cd ${ROOT_DIR}
#need some openGL stuff
sudo apt install libgl1-mesa-dev
diff --git a/scripts/macos_post_build.sh b/scripts/macos_post_build.sh
index 700361ef..50acb408 100755..100644
--- a/scripts/macos_post_build.sh
+++ b/scripts/macos_post_build.sh
@@ -1,14 +1,22 @@
-#!/bin/bash
+#!/bin/sh
-DST_FOLDER="./bin/Attorney_Online.app/Contents/Frameworks"
+# This script prepares the compiled bundle for shipping as a standalone release
+# Assumes the Qt bin folder is in PATH
+# Should be used on a "Release" build from QT creator
+# Note that this DOES NOT add the base/ folder
-mkdir $DST_FOLDER
+# Exit on errors and unset variables
+set -eu
-cp ./lib/libbass.dylib $DST_FOLDER
-cp ./lib/libbassopus.dylib $DST_FOLDER
+ROOT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )/"
-install_name_tool -id @executable_path/../Frameworks/libbass.dylib $DST_FOLDER/libbass.dylib
+cd ${ROOT_DIR}
-install_name_tool -id @executable_path/../Frameworks/libbassopus.dylib $DST_FOLDER/libbassopus.dylib
+# This thing basically does all the work
+macdeployqt ../bin/Attorney_Online.app
-install_name_tool -change @loader_path/libbass.dylib @executable_path/../Frameworks/libbass.dylib ./bin/Attorney_Online.app/Contents/MacOS/Attorney_Online
+# Need to add the dependencies
+cp ../lib/* ../bin/Attorney_Online.app/Contents/Frameworks
+
+# libbass has a funny path for some reason, just use rpath
+install_name_tool -change @loader_path/libbass.dylib @rpath/libbass.dylib ../bin/Attorney_Online.app/Contents/MacOS/Attorney_Online
diff --git a/scripts/release_macos.sh b/scripts/release_macos.sh
new file mode 100755
index 00000000..50acb408
--- /dev/null
+++ b/scripts/release_macos.sh
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+# This script prepares the compiled bundle for shipping as a standalone release
+# Assumes the Qt bin folder is in PATH
+# Should be used on a "Release" build from QT creator
+# Note that this DOES NOT add the base/ folder
+
+# Exit on errors and unset variables
+set -eu
+
+ROOT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )/"
+
+cd ${ROOT_DIR}
+
+# This thing basically does all the work
+macdeployqt ../bin/Attorney_Online.app
+
+# Need to add the dependencies
+cp ../lib/* ../bin/Attorney_Online.app/Contents/Frameworks
+
+# libbass has a funny path for some reason, just use rpath
+install_name_tool -change @loader_path/libbass.dylib @rpath/libbass.dylib ../bin/Attorney_Online.app/Contents/MacOS/Attorney_Online