forked from HarbourMasters/Shipwright
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
778 changed files
with
65,429 additions
and
52,853 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
libusb-dev libusb-1.0-0-dev libsdl2-dev libsdl2-net-dev libpng-dev libglew-dev libzip-dev zipcmp zipmerge ziptool ninja-build | ||
libusb-dev libusb-1.0-0-dev libsdl2-dev libsdl2-net-dev libpng-dev libglew-dev libzip-dev zipcmp zipmerge ziptool nlohmann-json3-dev libtinyxml2-dev libspdlog-dev ninja-build |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -7,20 +7,19 @@ concurrency: | |
cancel-in-progress: true | ||
jobs: | ||
generate-soh-otr: | ||
runs-on: ${{ (vars.LINUX_RUNNER && fromJSON(vars.LINUX_RUNNER)) || 'ubuntu-latest' }} | ||
runs-on: ubuntu-22.04 | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- uses: actions/checkout@v4 | ||
with: | ||
submodules: true | ||
- name: ccache | ||
uses: hendrikmuhs/[email protected].11 | ||
uses: hendrikmuhs/[email protected].14 | ||
with: | ||
key: ${{ runner.os }}-otr-ccache-${{ github.ref }}-${{ github.sha }} | ||
restore-keys: | | ||
${{ runner.os }}-otr-ccache-${{ github.ref }} | ||
${{ runner.os }}-otr-ccache- | ||
- name: Install dependencies | ||
if: ${{ !vars.LINUX_RUNNER }} | ||
run: | | ||
sudo apt-get update | ||
sudo apt-get install -y $(cat .github/workflows/apt-deps.txt) | ||
|
@@ -35,7 +34,6 @@ jobs: | |
build-cmake | ||
SDL2-2.28.5 | ||
- name: Install latest SDL | ||
if: ${{ !vars.LINUX_RUNNER }} | ||
run: | | ||
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" | ||
if [ ! -d "SDL2-2.28.5" ]; then | ||
|
@@ -47,6 +45,20 @@ jobs: | |
make -j 10 | ||
sudo make install | ||
sudo cp -av /usr/local/lib/libSDL* /lib/x86_64-linux-gnu/ | ||
- name: Install latest tinyxml2 | ||
run: | | ||
sudo apt-get remove libtinyxml2-dev | ||
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" | ||
if [ ! -d "tinyxml2-10.0.0" ]; then | ||
wget https://github.com/leethomason/tinyxml2/archive/refs/tags/10.0.0.tar.gz | ||
tar -xzf 10.0.0.tar.gz | ||
fi | ||
cd tinyxml2-10.0.0 | ||
mkdir build | ||
cd build | ||
cmake .. | ||
make | ||
sudo make install | ||
- name: Generate soh.otr | ||
run: | | ||
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" | ||
|
@@ -59,47 +71,44 @@ jobs: | |
retention-days: 1 | ||
build-macos: | ||
needs: generate-soh-otr | ||
runs-on: ${{ (vars.MAC_RUNNER && fromJSON(vars.MAC_RUNNER)) || 'macos-12' }} | ||
runs-on: macos-14 | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- uses: actions/checkout@v4 | ||
with: | ||
submodules: true | ||
- name: ccache | ||
uses: hendrikmuhs/[email protected].11 | ||
uses: hendrikmuhs/[email protected].14 | ||
with: | ||
key: ${{ runner.os }}-ccache-${{ github.ref }}-${{ github.sha }} | ||
create-symlink: true | ||
key: ${{ runner.os }}-14-ccache-${{ github.ref }}-${{ github.sha }} | ||
restore-keys: | | ||
${{ runner.os }}-ccache-${{ github.ref }} | ||
${{ runner.os }}-ccache- | ||
${{ runner.os }}-14-ccache-${{ github.ref }} | ||
${{ runner.os }}-14-ccache- | ||
- name: Install gtar wrapper | ||
if: ${{ !vars.MAC_RUNNER }} | ||
run: | | ||
sudo mv /usr/local/bin/gtar /usr/local/bin/gtar.orig | ||
sudo cp .github/workflows//gtar /usr/local/bin/gtar | ||
sudo chmod +x /usr/local/bin/gtar | ||
sudo mv /opt/homebrew/bin/gtar /opt/homebrew/bin/gtar.orig | ||
sudo cp .github/workflows//gtar /opt/homebrew/bin/gtar | ||
sudo chmod +x /opt/homebrew/bin/gtar | ||
- name: Cache MacPorts | ||
id: cache-macports | ||
if: ${{ !vars.MAC_RUNNER }} | ||
uses: actions/cache@v2 | ||
uses: actions/cache@v4 | ||
with: | ||
path: /opt/local/ | ||
key: ${{ runner.os }}-macports-${{ hashFiles('.github/workflows/macports-deps.txt') }} | ||
key: ${{ runner.os }}-14-macports-${{ hashFiles('.github/workflows/macports-deps.txt') }} | ||
restore-keys: | | ||
${{ runner.os }}-macports- | ||
${{ runner.os }}-14-macports- | ||
- name: Install MacPorts (if necessary) | ||
if: ${{ !vars.MAC_RUNNER }} | ||
run: | | ||
if [ -d /opt/local/ ]; then | ||
echo "MacPorts already installed" | ||
else | ||
wget https://github.com/macports/macports-base/releases/download/v2.9.3/MacPorts-2.9.3-12-Monterey.pkg | ||
sudo installer -pkg ./MacPorts-2.9.3-12-Monterey.pkg -target / | ||
wget https://github.com/macports/macports-base/releases/download/v2.9.3/MacPorts-2.9.3-14-Sonoma.pkg | ||
sudo installer -pkg ./MacPorts-2.9.3-14-Sonoma.pkg -target / | ||
fi | ||
echo "/opt/local/bin:/opt/local/sbin" >> $GITHUB_PATH | ||
- name: Install dependencies | ||
if: ${{ !vars.MAC_RUNNER }} | ||
run: | | ||
brew uninstall --ignore-dependencies libpng libzip | ||
brew uninstall --ignore-dependencies libpng | ||
sudo port install $(cat .github/workflows/macports-deps.txt) | ||
brew install ninja | ||
- name: Download soh.otr | ||
|
@@ -108,7 +117,6 @@ jobs: | |
name: soh.otr | ||
- name: Build SoH | ||
run: | | ||
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" | ||
cmake --no-warn-unused-cli -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" -DBUILD_REMOTE_CONTROL=1 | ||
cmake --build build-cmake --config Release --parallel 10 | ||
mv soh.otr build-cmake/soh | ||
|
@@ -125,45 +133,33 @@ jobs: | |
readme.txt | ||
build-linux: | ||
needs: generate-soh-otr | ||
strategy: | ||
fail-fast: true | ||
matrix: | ||
include: | ||
- os: ubuntu-20.04 | ||
gcc: 10 | ||
archive-suffix: compatibility | ||
- os: ubuntu-22.04 | ||
gcc: 12 | ||
archive-suffix: performance | ||
runs-on: ${{ (matrix.os == 'ubuntu-20.04' && ((vars.LINUX_COMPATIBILITY_RUNNER && fromJSON(vars.LINUX_COMPATIBILITY_RUNNER)) || matrix.os)) || (matrix.os == 'ubuntu-22.04' && ((vars.LINUX_PERFORMANCE_RUNNER && fromJSON(vars.LINUX_PERFORMANCE_RUNNER)) || matrix.os)) }} | ||
runs-on: ubuntu-22.04 | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- uses: actions/checkout@v4 | ||
with: | ||
submodules: true | ||
- name: Install dependencies | ||
if: ${{ (matrix.os == 'ubuntu-20.04' && !vars.LINUX_COMPATIBILITY_RUNNER) || (matrix.os == 'ubuntu-22.04' && !vars.LINUX_PERFORMANCE_RUNNER) }} | ||
run: | | ||
sudo apt-get update | ||
sudo apt-get install -y $(cat .github/workflows/apt-deps.txt) | ||
- name: ccache | ||
uses: hendrikmuhs/[email protected].11 | ||
uses: hendrikmuhs/[email protected].14 | ||
with: | ||
key: ${{ matrix.os }}-ccache-${{ github.ref }}-${{ github.sha }} | ||
key: linux-ccache-${{ github.ref }}-${{ github.sha }} | ||
restore-keys: | | ||
${{ matrix.os }}-ccache-${{ github.ref }} | ||
${{ matrix.os }}-ccache- | ||
linux-ccache-${{ github.ref }} | ||
linux-ccache- | ||
- name: Cache build folders | ||
uses: actions/cache@v4 | ||
with: | ||
key: ${{ matrix.os }}-build-${{ github.ref }}-${{ github.sha }} | ||
key: linux-build-${{ github.ref }}-${{ github.sha }} | ||
restore-keys: | | ||
${{ matrix.os }}-build-${{ github.ref }} | ||
${{ matrix.os }}-build- | ||
linux-build-${{ github.ref }} | ||
linux-build- | ||
path: | | ||
SDL2-2.28.5 | ||
SDL2_net-2.2.0 | ||
- name: Install latest SDL | ||
if: ${{ (matrix.os == 'ubuntu-20.04' && !vars.LINUX_COMPATIBILITY_RUNNER) || (matrix.os == 'ubuntu-22.04' && !vars.LINUX_PERFORMANCE_RUNNER) }} | ||
run: | | ||
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" | ||
if [ ! -d "SDL2-2.28.5" ]; then | ||
|
@@ -175,23 +171,21 @@ jobs: | |
make -j 10 | ||
sudo make install | ||
sudo cp -av /usr/local/lib/libSDL* /lib/x86_64-linux-gnu/ | ||
- name: Install latest libzip | ||
if: ${{ (matrix.os == 'ubuntu-20.04' && !vars.LINUX_COMPATIBILITY_RUNNER) }} | ||
- name: Install latest tinyxml2 | ||
run: | | ||
sudo apt-get remove libzip-dev zipcmp zipmerge ziptool | ||
sudo apt-get remove libtinyxml2-dev | ||
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" | ||
if [ ! -d "libzip-1.10.1" ]; then | ||
wget https://libzip.org/download/libzip-1.10.1.tar.gz | ||
tar -xzvf libzip-1.10.1.tar.gz | ||
if [ ! -d "tinyxml2-10.0.0" ]; then | ||
wget https://github.com/leethomason/tinyxml2/archive/refs/tags/10.0.0.tar.gz | ||
tar -xzf 10.0.0.tar.gz | ||
fi | ||
cd libzip-1.10.1 | ||
cd tinyxml2-10.0.0 | ||
mkdir build | ||
cd build | ||
cmake .. | ||
make | ||
sudo make install | ||
- name: Install latest SDL_net | ||
if: ${{ (matrix.os == 'ubuntu-20.04' && !vars.LINUX_COMPATIBILITY_RUNNER) || (matrix.os == 'ubuntu-22.04' && !vars.LINUX_PERFORMANCE_RUNNER) }} | ||
run: | | ||
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" | ||
if [ ! -d "SDL2_net-2.2.0" ]; then | ||
|
@@ -217,123 +211,15 @@ jobs: | |
mv README.md readme.txt | ||
mv build-cmake/*.appimage soh.appimage | ||
env: | ||
CC: gcc-${{ matrix.gcc }} | ||
CXX: g++-${{ matrix.gcc }} | ||
CC: gcc-12 | ||
CXX: g++-12 | ||
- name: Upload build | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: soh-linux-${{ matrix.archive-suffix }} | ||
name: soh-linux | ||
path: | | ||
soh.appimage | ||
readme.txt | ||
build-switch: | ||
needs: generate-soh-otr | ||
runs-on: ${{ (vars.LINUX_RUNNER && fromJSON(vars.LINUX_RUNNER)) || 'ubuntu-latest' }} | ||
container: | ||
image: devkitpro/devkita64:20240120 | ||
steps: | ||
- name: Install dependencies | ||
run: | | ||
sudo apt-get update | ||
sudo apt-get install -y ninja-build | ||
sudo apt-get remove -y cmake | ||
wget https://github.com/Kitware/CMake/releases/download/v3.28.3/cmake-3.28.3-linux-x86_64.sh -O /tmp/cmake.sh | ||
sudo sh /tmp/cmake.sh --prefix=/usr/local/ --exclude-subdir | ||
wget https://libzip.org/download/libzip-1.10.1.tar.gz | ||
tar -xzvf libzip-1.10.1.tar.gz | ||
cd libzip-1.10.1 | ||
mkdir build | ||
cd build | ||
cmake -H.. -B. -DCMAKE_TOOLCHAIN_FILE=/opt/devkitpro/cmake/Switch.cmake | ||
make | ||
make install | ||
- name: Fix dubious ownership error | ||
if: ${{ vars.LINUX_RUNNER }} | ||
run: git config --global --add safe.directory '*' | ||
- uses: actions/checkout@v3 | ||
with: | ||
submodules: true | ||
- name: ccache | ||
uses: hendrikmuhs/[email protected] | ||
with: | ||
key: ${{ runner.os }}-switch-ccache-${{ github.ref }}-${{ github.sha }} | ||
restore-keys: | | ||
${{ runner.os }}-switch-ccache-${{ github.ref }} | ||
${{ runner.os }}-switch-ccache- | ||
- name: Build SoH | ||
run: | | ||
cmake -H. -Bbuild-switch -GNinja -DCMAKE_TOOLCHAIN_FILE=/opt/devkitpro/cmake/Switch.cmake -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_C_COMPILER_LAUNCHER=ccache | ||
cmake --build build-switch --target soh_nro -j3 | ||
mv build-switch/soh/*.nro soh.nro | ||
mv README.md readme.txt | ||
- name: Download soh.otr | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: soh.otr | ||
- name: Upload build | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: soh-switch | ||
path: | | ||
soh.nro | ||
soh.otr | ||
readme.txt | ||
build-wiiu: | ||
needs: generate-soh-otr | ||
runs-on: ${{ (vars.LINUX_RUNNER && fromJSON(vars.LINUX_RUNNER)) || 'ubuntu-latest' }} | ||
container: | ||
image: devkitpro/devkitppc:20230110 | ||
steps: | ||
- name: Install dependencies | ||
if: ${{ !vars.LINUX_RUNNER }} | ||
run: | | ||
sudo apt-get install -y ninja-build | ||
sudo apt-get remove -y cmake | ||
wget https://github.com/Kitware/CMake/releases/download/v3.28.3/cmake-3.28.3-linux-x86_64.sh -O /tmp/cmake.sh | ||
sudo sh /tmp/cmake.sh --prefix=/usr/local/ --exclude-subdir | ||
wget https://libzip.org/download/libzip-1.10.1.tar.gz | ||
tar -xzvf libzip-1.10.1.tar.gz | ||
cd libzip-1.10.1 | ||
mkdir build | ||
cd build | ||
cmake -H.. -B. -DCMAKE_TOOLCHAIN_FILE=/opt/devkitpro/cmake/WiiU.cmake | ||
make | ||
make install | ||
- uses: actions/checkout@v3 | ||
with: | ||
submodules: true | ||
- name: ccache | ||
uses: hendrikmuhs/[email protected] | ||
with: | ||
key: ${{ runner.os }}-wiiu-ccache-${{ github.ref }}-${{ github.sha }} | ||
restore-keys: | | ||
${{ runner.os }}-wiiu-ccache-${{ github.ref }} | ||
${{ runner.os }}-wiiu-ccache- | ||
- name: Build SoH | ||
run: | | ||
cmake -H. -Bbuild-wiiu -GNinja -DCMAKE_TOOLCHAIN_FILE=/opt/devkitpro/cmake/WiiU.cmake -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_C_COMPILER_LAUNCHER=ccache | ||
cmake --build build-wiiu --target soh_wuhb --config Release -j3 | ||
mv build-wiiu/soh/*.rpx soh.rpx | ||
mv build-wiiu/soh/*.wuhb soh.wuhb | ||
mv README.md readme.txt | ||
env: | ||
DEVKITPRO: /opt/devkitpro | ||
DEVKITPPC: /opt/devkitpro/devkitPPC | ||
- name: Download soh.otr | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: soh.otr | ||
- name: Upload build | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: soh-wiiu | ||
path: | | ||
soh.rpx | ||
soh.wuhb | ||
soh.otr | ||
readme.txt | ||
build-windows: | ||
needs: generate-soh-otr | ||
runs-on: ${{ (vars.WINDOWS_RUNNER && fromJSON(vars.WINDOWS_RUNNER)) || 'windows-latest' }} | ||
|
@@ -343,11 +229,11 @@ jobs: | |
run: | | ||
choco install ninja | ||
Remove-Item -Path "C:\ProgramData\Chocolatey\bin\ccache.exe" -Force -ErrorAction SilentlyContinue | ||
- uses: actions/checkout@v3 | ||
- uses: actions/checkout@v4 | ||
with: | ||
submodules: true | ||
- name: ccache | ||
uses: hendrikmuhs/[email protected].11 | ||
uses: hendrikmuhs/[email protected].14 | ||
with: | ||
variant: sccache | ||
max-size: "1G" | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,2 @@ | ||
#!/bin/sh | ||
exec sudo /usr/local/bin/gtar.orig "$@" | ||
exec sudo /opt/homebrew/bin/gtar.orig "$@" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
libsdl2 +universal libsdl2_net +universal libpng +universal glew +universal libzip +universal | ||
libsdl2 +universal libsdl2_net +universal libpng +universal glew +universal libzip +universal nlohmann-json +universal tinyxml2 +universal |
Oops, something went wrong.