Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin' into independence
Browse files Browse the repository at this point in the history
  • Loading branch information
sonicdcer committed Dec 10, 2024
2 parents dcd0b3e + 537b25a commit be2218d
Show file tree
Hide file tree
Showing 65 changed files with 26,912 additions and 49 deletions.
49 changes: 49 additions & 0 deletions .github/workflows/linux.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: Linux Validation

on:
pull_request:
branches: [ "*" ]

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Install dependencies
run: sudo apt-get install gcc g++ git cmake ninja-build lsb-release libsdl2-dev libpng-dev libsdl2-net-dev libzip-dev zipcmp zipmerge ziptool nlohmann-json3-dev libtinyxml2-dev libspdlog-dev libboost-dev libopengl-dev
- name: Install latest SDL
run: |
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
wget https://www.libsdl.org/release/SDL2-2.24.1.tar.gz
tar -xzf SDL2-2.24.1.tar.gz
cd SDL2-2.24.1
./configure
make -j 10
sudo make install
- name: Install latest tinyxml2
run: |
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
wget https://github.com/leethomason/tinyxml2/archive/refs/tags/10.0.0.tar.gz
tar -xzf 10.0.0.tar.gz
cd tinyxml2-10.0.0
mkdir build
cd build
cmake ..
make
sudo make install
- name: Build
run: |
cmake -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE=Release
cmake --build build-cmake -j
- name: Create Package
run: |
mkdir starship-release
mv build-cmake/Starship starship-release/
- name: Publish packaged artifacts
uses: actions/upload-artifact@v4
with:
name: starship-linux-x64
path: starship-release
retention-days: 1
29 changes: 29 additions & 0 deletions .github/workflows/mac.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: MacOS Validation

on:
pull_request:
branches: [ "*" ]

jobs:
build:
runs-on: macOS-latest
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Install dependencies
run: brew install sdl2 libpng glew ninja cmake libzip nlohmann-json tinyxml2 spdlog
- name: Build
run: |
cmake -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE=Release
cmake --build build-cmake -j
- name: Create Package
run: |
mkdir starship-release
mv build-cmake/Starship starship-release/
- name: Publish packaged artifacts
uses: actions/upload-artifact@v4
with:
name: starship-mac-x64
path: starship-release
retention-days: 1
145 changes: 145 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,145 @@
name: GenerateBuilds

on:
push:
pull_request:

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
generate-port-otr:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Install dependencies
run: sudo apt-get install gcc g++ git cmake ninja-build lsb-release
- name: ccache
uses: hendrikmuhs/ccache-action@v1.2.13
with:
key: ${{ runner.os }}-otr-ccache-${{ github.ref }}-${{ github.sha }}
restore-keys: |
${{ runner.os }}-otr-ccache-${{ github.ref }}
${{ runner.os }}-otr-ccache-
- name: Cache build folders
uses: actions/cache@v4
with:
key: ${{ runner.os }}-otr-build-${{ github.ref }}-${{ github.sha }}
restore-keys: |
${{ runner.os }}-otr-build-${{ github.ref }}
${{ runner.os }}-otr-build-
path: |
tools/Torch/cmake-build-release
- name: Generate starship.otr
run: |
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
make -C tools/Torch type=release -j3
tools/Torch/cmake-build-release/torch pack port starship.otr
- uses: actions/upload-artifact@v4
with:
name: starship.otr
path: starship.otr
retention-days: 1

build-windows:
needs: generate-port-otr
runs-on: windows-2022
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Build
run: |
cmake -S . -B "build/x64" -G "Visual Studio 17 2022" -T v143 -A x64 -DCMAKE_BUILD_TYPE=Release
cmake --build ./build/x64 --config Release --parallel 10
- name: Download starship.otr
uses: actions/download-artifact@v4
with:
name: starship.otr
path: ./build/x64/Release/starship.otr
- name: Upload build
uses: actions/upload-artifact@v4
with:
name: starship-windows
path: ./build/x64/Release

build-macos:
needs: generate-port-otr
runs-on: macOS-latest
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Install dependencies
run: brew install sdl2 libpng glew ninja cmake libzip nlohmann-json tinyxml2 spdlog
- name: Build
run: |
cmake -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE=Release
cmake --build build-cmake --config Release -j3
- name: Download starship.otr
uses: actions/download-artifact@v4
with:
name: starship.otr
path: build-cmake/starship.otr
- name: Create Package
run: |
mkdir starship-release
mv build-cmake/Starship starship-release/
mv build-cmake/starship.otr starship-release/
- name: Publish packaged artifacts
uses: actions/upload-artifact@v4
with:
name: starship-mac-x64
path: starship-release

build-linux:
needs: generate-port-otr
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Install dependencies
run: sudo apt-get install gcc g++ git cmake ninja-build lsb-release libsdl2-dev libpng-dev libsdl2-net-dev libzip-dev zipcmp zipmerge ziptool nlohmann-json3-dev libtinyxml2-dev libspdlog-dev libboost-dev libopengl-dev
- name: Install latest SDL
run: |
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
wget https://www.libsdl.org/release/SDL2-2.24.1.tar.gz
tar -xzf SDL2-2.24.1.tar.gz
cd SDL2-2.24.1
./configure --enable-hidapi-libusb
make -j 10
sudo make install
- name: Install latest tinyxml2
run: |
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
wget https://github.com/leethomason/tinyxml2/archive/refs/tags/10.0.0.tar.gz
tar -xzf 10.0.0.tar.gz
cd tinyxml2-10.0.0
mkdir build
cd build
cmake ..
make
sudo make install
- name: Download starship.otr
uses: actions/download-artifact@v4
with:
name: starship.otr
path: build-cmake/starship.otr
- name: Build
run: |
cmake -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE=Release
cmake --build build-cmake --config Release -j3
(cd build-cmake && cpack -G External)
mv README.md readme.txt
mv build-cmake/*.appimage starship.appimage
- name: Upload build
uses: actions/upload-artifact@v4
with:
name: Starship-linux
path: |
starship.appimage
23 changes: 23 additions & 0 deletions .github/workflows/windows.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Windows Validation

on:
pull_request:
branches: [ "*" ]

jobs:
build:
runs-on: windows-2022
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Build
run: |
cmake -S . -B "build/x64" -G "Visual Studio 17 2022" -T v143 -A x64 -DCMAKE_BUILD_TYPE=Release
cmake --build ./build/x64
- name: Upload build
uses: actions/upload-artifact@v4
with:
name: starship-windows
path: ./build/x64/Debug
retention-days: 1
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ ctx.c.m2c
assets/yaml/us/ast_test.yaml
/audio_data
src/assets/*
include/assets/*
/build
build-new/
tools/mio0
Expand Down
25 changes: 17 additions & 8 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -530,20 +530,29 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang|AppleClang")
endif()

include(ExternalProject)
ExternalProject_Add(Torch
PREFIX Torch
ExternalProject_Add(torch
PREFIX torch
SOURCE_DIR ${CMAKE_SOURCE_DIR}/tools/Torch
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/Torch
)
ExternalProject_Get_Property(Torch install_dir)
set(TORCH_EXECUTABLE ${install_dir}/src/Torch-build/$<CONFIGURATION>/torch)
ExternalProject_Get_Property(torch install_dir)
if (MSVC)
set(TORCH_EXECUTABLE ${install_dir}/src/torch-build/$<CONFIGURATION>/torch)
else()
set(TORCH_EXECUTABLE ${install_dir}/src/torch-build/torch)
endif()
add_custom_target(
ExtractAssets
DEPENDS Torch
DEPENDS torch
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
COMMAND ${TORCH_EXECUTABLE} header -o baserom.us.uncompressed.z64
COMMAND ${TORCH_EXECUTABLE} otr baserom.us.uncompressed.z64
COMMAND ${TORCH_EXECUTABLE} pack port starship.otr
COMMAND ${TORCH_EXECUTABLE} otr baserom.us.rev1.z64
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_SOURCE_DIR}/sf64.otr" "${CMAKE_BINARY_DIR}/sf64.otr"
)

add_custom_target(
GeneratePortOTR
DEPENDS torch
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
COMMAND ${TORCH_EXECUTABLE} pack port starship.otr
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_SOURCE_DIR}/starship.otr" "${CMAKE_BINARY_DIR}/starship.otr"
)
Loading

0 comments on commit be2218d

Please sign in to comment.