mirror of
https://github.com/simple64/simple64.git
synced 2026-07-11 01:24:00 +02:00
update build (#391)
* update build * remove darwin * logging * add unzip * Update build.yml
This commit is contained in:
@@ -17,7 +17,7 @@ jobs:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Check shell scripts
|
||||
run: |
|
||||
shellcheck -o all build.sh clean.sh link-mac.sh pull_repos.sh
|
||||
shellcheck -o all build.sh clean.sh pull_repos.sh
|
||||
- name: Run build script
|
||||
run: |
|
||||
git config --global --add safe.directory /__w/simple64/simple64
|
||||
@@ -35,6 +35,7 @@ jobs:
|
||||
patch
|
||||
git
|
||||
zip
|
||||
unzip
|
||||
pacboy: >-
|
||||
cmake:p
|
||||
gcc:p
|
||||
@@ -46,7 +47,7 @@ jobs:
|
||||
qt6:p
|
||||
|
||||
- name: Run build script
|
||||
run: msys2 -c 'export SIMPLE64_AUTOUPDATE=1; ./build.sh'
|
||||
run: msys2 -c 'export SIMPLE64_AUTOUPDATE=1; ./build.sh zip'
|
||||
- name: Upload zip
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
simple64/
|
||||
discord/
|
||||
vosk/
|
||||
*zip
|
||||
*.dylib
|
||||
.DS_Store
|
||||
|
||||
@@ -9,11 +9,6 @@ UNAME=$(uname -s)
|
||||
PLATFORM=$(uname -m)
|
||||
if [[ ${UNAME} == *"MINGW64"* ]]; then
|
||||
suffix=".dll"
|
||||
elif [[ ${UNAME} == *"Darwin"* ]]; then
|
||||
suffix=".dylib"
|
||||
qt_version=$(ls /usr/local/Cellar/qt)
|
||||
export CXXFLAGS='-stdlib=libc++'
|
||||
export LDFLAGS='-mmacosx-version-min=11.0'
|
||||
else
|
||||
suffix=".so"
|
||||
fi
|
||||
@@ -67,13 +62,7 @@ mkdir -p "${base_dir}/simple64-gui/build"
|
||||
cd "${base_dir}/simple64-gui/build"
|
||||
cmake -G Ninja -DCMAKE_BUILD_TYPE="${RELEASE_TYPE}" ..
|
||||
VERBOSE=1 cmake --build .
|
||||
|
||||
if [[ ${UNAME} == *"Darwin"* ]]; then
|
||||
"/usr/local/Cellar/qt/${qt_version}/bin/macdeployqt" "${base_dir}/simple64-gui/build/simple64-gui.app"
|
||||
cp -a "${base_dir}/simple64-gui/build/simple64-gui.app" "${install_dir}"
|
||||
else
|
||||
cp "${base_dir}/simple64-gui/build/simple64-gui" "${install_dir}"
|
||||
fi
|
||||
cp "${base_dir}/simple64-gui/build/simple64-gui" "${install_dir}"
|
||||
|
||||
mkdir -p "${base_dir}/parallel-rsp/build"
|
||||
cd "${base_dir}/parallel-rsp/build"
|
||||
@@ -87,6 +76,32 @@ cmake -G Ninja -DCMAKE_BUILD_TYPE="${RELEASE_TYPE}" ..
|
||||
VERBOSE=1 cmake --build .
|
||||
cp simple64-video-parallel.* "${install_dir}"
|
||||
|
||||
if [[ ! -d "${base_dir}/discord" ]]; then
|
||||
echo "Downloading Discord SDK"
|
||||
mkdir -p "${base_dir}/discord"
|
||||
cd "${base_dir}/discord"
|
||||
wget -q https://dl-game-sdk.discordapp.net/2.5.6/discord_game_sdk.zip
|
||||
unzip -q discord_game_sdk.zip
|
||||
rm discord_game_sdk.zip
|
||||
fi
|
||||
|
||||
if [[ ! -d "${base_dir}/vosk" ]]; then
|
||||
mkdir -p "${base_dir}/vosk"
|
||||
cd "${base_dir}/vosk"
|
||||
if [[ ${UNAME} == *"MINGW64"* ]]; then
|
||||
echo "Downloading Vosk for Windows"
|
||||
wget -q https://github.com/alphacep/vosk-api/releases/download/v0.3.45/vosk-win64-0.3.45.zip
|
||||
elif [[ "${PLATFORM}" == "aarch64" ]]; then
|
||||
echo "Downloading Vosk for Linux aarch64"
|
||||
wget -q https://github.com/alphacep/vosk-api/releases/download/v0.3.45/vosk-linux-aarch64-0.3.45.zip
|
||||
else
|
||||
echo "Downloading Vosk for Linux x86_64"
|
||||
wget -q https://github.com/alphacep/vosk-api/releases/download/v0.3.45/vosk-linux-x86_64-0.3.45.zip
|
||||
fi
|
||||
unzip -jq ./*.zip
|
||||
rm ./*.zip
|
||||
fi
|
||||
|
||||
if [[ ${UNAME} == *"MINGW64"* ]]; then
|
||||
cd "${install_dir}"
|
||||
windeployqt-qt6.exe --no-translations simple64-gui.exe
|
||||
@@ -121,28 +136,21 @@ if [[ ${UNAME} == *"MINGW64"* ]]; then
|
||||
cp -v "${MSYSTEM_PREFIX}/bin/libcrypto-3-x64.dll" "${install_dir}" # used by Qt at runtime
|
||||
cp -v "${MSYSTEM_PREFIX}/bin/libssl-3-x64.dll" "${install_dir}" # used by Qt at runtime
|
||||
cp -v "${base_dir}/7za.exe" "${install_dir}"
|
||||
cp -v "${base_dir}/simple64-gui/discord/discord_game_sdk.dll" "${install_dir}"
|
||||
cp -v "${base_dir}/simple64-input-qt/vosk/x86_64/vosk.dll" "${install_dir}"
|
||||
elif [[ ${UNAME} == *"Darwin"* ]]; then
|
||||
cp "${base_dir}/simple64-gui/discord/discord_game_sdk.dylib" "${install_dir}"
|
||||
cd "${base_dir}"
|
||||
sh ./link-mac.sh
|
||||
cp -v "${base_dir}/discord/lib/x86_64/discord_game_sdk.dll" "${install_dir}"
|
||||
cp -v "${base_dir}/vosk/libvosk.dll" "${install_dir}/vosk.dll"
|
||||
else
|
||||
cp "${base_dir}/vosk/libvosk.so" "${install_dir}"
|
||||
if [[ "${PLATFORM}" == "aarch64" ]]; then
|
||||
my_os=linux_aarch64
|
||||
cp "${base_dir}/simple64-input-qt/vosk/aarch64/libvosk.so" "${install_dir}"
|
||||
else
|
||||
my_os=linux_x86_64
|
||||
cp "${base_dir}/simple64-gui/discord/libdiscord_game_sdk.so" "${install_dir}"
|
||||
cp "${base_dir}/simple64-input-qt/vosk/x86_64/libvosk.so" "${install_dir}"
|
||||
cp "${base_dir}/discord/lib/x86_64/discord_game_sdk.so" "${install_dir}/libdiscord_game_sdk.so"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ "$1" != "nozip" ]]; then
|
||||
if [[ ${UNAME} != *"Darwin"* ]]; then
|
||||
cd "${base_dir}"
|
||||
rm -f "${base_dir}/"*.zip
|
||||
HASH=$(git rev-parse --short HEAD)
|
||||
zip --symlinks -r "simple64-${my_os}-${HASH}.zip" simple64
|
||||
fi
|
||||
if [[ "$1" == "zip" ]]; then
|
||||
cd "${base_dir}"
|
||||
rm -f "${base_dir}/"*.zip
|
||||
HASH=$(git rev-parse --short HEAD)
|
||||
zip --symlinks -r "simple64-${my_os}-${HASH}.zip" simple64
|
||||
fi
|
||||
|
||||
@@ -10,3 +10,5 @@ rm -rf simple64-input-qt/build
|
||||
rm -rf simple64-input-raphnetraw/build
|
||||
rm -rf parallel-rsp/build
|
||||
rm -rf parallel-rdp-standalone/build
|
||||
rm -rf discord
|
||||
rm -rf vosk
|
||||
|
||||
-91
@@ -1,91 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
contents=simple64/simple64-gui.app/Contents
|
||||
|
||||
# Get files in correct directories
|
||||
mv simple64/font.ttf "${contents}/MacOS"
|
||||
mv simple64/libmupen64plus.dylib "${contents}/MacOS"
|
||||
mv simple64/simple64-audio-sdl2.dylib "${contents}/MacOS"
|
||||
mv simple64/simple64-input-qt.dylib "${contents}/MacOS"
|
||||
mv simple64/simple64-input-raphnetraw.dylib "${contents}/MacOS"
|
||||
mv simple64/simple64-rsp-parallel.dylib "${contents}/MacOS"
|
||||
mv simple64/simple64-video-parallel.dylib "${contents}/MacOS"
|
||||
mv simple64/mupen64plus.ini "${contents}/MacOS"
|
||||
mv simple64/mupencheat.txt "${contents}/MacOS"
|
||||
mv simple64/pif.ntsc.rom "${contents}/MacOS"
|
||||
mv simple64/pif.pal.rom "${contents}/MacOS"
|
||||
mv simple64/discord_game_sdk.dylib "${contents}/MacOS"
|
||||
|
||||
# SDL
|
||||
cp /usr/local/opt/sdl2/lib/libSDL2-2.0.0.dylib "${contents}/Frameworks"
|
||||
otool -L "${contents}/Frameworks/libSDL2-2.0.0.dylib"
|
||||
|
||||
cp /usr/local/opt/sdl2_net/lib/libSDL2_net-2.0.0.dylib "${contents}/Frameworks"
|
||||
install_name_tool -change /usr/local/opt/sdl2/lib/libSDL2-2.0.0.dylib @executable_path/../Frameworks/libSDL2-2.0.0.dylib "${contents}/Frameworks/libSDL2_net-2.0.0.dylib"
|
||||
|
||||
otool -L "${contents}/Frameworks/libSDL2_net-2.0.0.dylib"
|
||||
|
||||
# libpng
|
||||
cp /usr/local/opt/libpng/lib/libpng16.16.dylib "${contents}/Frameworks"
|
||||
|
||||
otool -L "${contents}/Frameworks/libpng16.16.dylib"
|
||||
|
||||
# hidapi
|
||||
cp /usr/local/opt/hidapi/lib/libhidapi.0.dylib "${contents}/Frameworks"
|
||||
|
||||
otool -L "${contents}/Frameworks/libhidapi.0.dylib"
|
||||
|
||||
# freetype
|
||||
cp /usr/local/opt/freetype/lib/libfreetype.6.dylib "${contents}/Frameworks"
|
||||
|
||||
install_name_tool -change /usr/local/opt/libpng/lib/libpng16.16.dylib @executable_path/../Frameworks/libpng16.16.dylib "${contents}/Frameworks/libfreetype.6.dylib"
|
||||
|
||||
otool -L "${contents}/Frameworks/libfreetype.6.dylib"
|
||||
|
||||
# simple64-gui
|
||||
# nothing to link
|
||||
otool -L "${contents}/MacOS/simple64-gui"
|
||||
|
||||
# libmupen64plus.dylib
|
||||
install_name_tool -change /usr/local/opt/sdl2/lib/libSDL2-2.0.0.dylib @executable_path/../Frameworks/libSDL2-2.0.0.dylib "${contents}/MacOS/libmupen64plus.dylib"
|
||||
install_name_tool -change /usr/local/opt/sdl2_net/lib/libSDL2_net-2.0.0.dylib @executable_path/../Frameworks/libSDL2_net-2.0.0.dylib "${contents}/MacOS/libmupen64plus.dylib"
|
||||
install_name_tool -change /usr/local/opt/libpng/lib/libpng16.16.dylib @executable_path/../Frameworks/libpng16.16.dylib "${contents}/MacOS/libmupen64plus.dylib"
|
||||
|
||||
otool -L "${contents}/MacOS/libmupen64plus.dylib"
|
||||
|
||||
# simple64-audio-sdl2.dylib
|
||||
install_name_tool -change /usr/local/opt/sdl2/lib/libSDL2-2.0.0.dylib @executable_path/../Frameworks/libSDL2-2.0.0.dylib "${contents}/MacOS/simple64-audio-sdl2.dylib"
|
||||
|
||||
otool -L "${contents}/MacOS/simple64-audio-sdl2.dylib"
|
||||
|
||||
# simple64-input-qt.dylib
|
||||
install_name_tool -change /usr/local/opt/sdl2/lib/libSDL2-2.0.0.dylib @executable_path/../Frameworks/libSDL2-2.0.0.dylib "${contents}/MacOS/simple64-input-qt.dylib"
|
||||
install_name_tool -change /usr/local/opt/qt/lib/QtWidgets.framework/Versions/5/QtWidgets @executable_path/../Frameworks/QtWidgets.framework/Versions/5/QtWidgets "${contents}/MacOS/simple64-input-qt.dylib"
|
||||
install_name_tool -change /usr/local/opt/qt/lib/QtGui.framework/Versions/5/QtGui @executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui "${contents}/MacOS/simple64-input-qt.dylib"
|
||||
install_name_tool -change /usr/local/opt/qt/lib/QtCore.framework/Versions/5/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore "${contents}/MacOS/simple64-input-qt.dylib"
|
||||
|
||||
otool -L "${contents}/MacOS/simple64-input-qt.dylib"
|
||||
|
||||
# simple64-input-raphnetraw.dylib
|
||||
install_name_tool -change /usr/local/opt/hidapi/lib/libhidapi.0.dylib @executable_path/../Frameworks/libhidapi.0.dylib "${contents}/MacOS/simple64-input-raphnetraw.dylib"
|
||||
|
||||
otool -L "${contents}/MacOS/simple64-input-raphnetraw.dylib"
|
||||
|
||||
# simple64-rsp-parallel.dylib
|
||||
|
||||
otool -L "${contents}/MacOS/simple64-rsp-parallel.dylib"
|
||||
|
||||
# simple64-video-parallel.dylib
|
||||
|
||||
otool -L "${contents}/MacOS/simple64-video-parallel.dylib"
|
||||
|
||||
# Time to create the DMG
|
||||
|
||||
# 1. Create symlink to Applications folder
|
||||
ln -s /Applications simple64/Applications
|
||||
|
||||
# 2. Create DMG
|
||||
HASH=$(git rev-parse --short HEAD)
|
||||
hdiutil create -volname simple64 -srcfolder simple64 -ov -format UDZO "simple64/simple64-osx-${HASH}.dmg"
|
||||
Reference in New Issue
Block a user