From 0e31d3b582e82484688107ea543f8c27805a88d3 Mon Sep 17 00:00:00 2001 From: David Chavez Date: Sun, 9 Jun 2024 01:42:15 +0200 Subject: [PATCH] CI: Match SDL across platforms and centralize versions (#383) --- .github/workflows/validate.yml | 21 ++++++++++++++++----- CMakeLists.txt | 10 ++++++++-- 2 files changed, 24 insertions(+), 7 deletions(-) diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml index 9567294..3c8d9ad 100644 --- a/.github/workflows/validate.yml +++ b/.github/workflows/validate.yml @@ -1,6 +1,15 @@ name: validate on: workflow_call: + inputs: + SDL2_VERSION: + type: string + required: false + default: '2.28.5' + N64RECOMP_COMMIT: + type: string + required: false + default: '2a2df89349ff25a3afb3a09617deb3a166efe2f3' secrets: ZRE_REPO_WITH_PAT: required: true @@ -37,9 +46,9 @@ jobs: # Enable ccache export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" - wget https://github.com/libsdl-org/SDL/releases/download/release-2.26.1/SDL2-2.26.1.tar.gz - tar -xzf SDL2-2.26.1.tar.gz - cd SDL2-2.26.1 + wget https://github.com/libsdl-org/SDL/releases/download/release-${{ inputs.SDL2_VERSION }}/SDL2-${{ inputs.SDL2_VERSION }}.tar.gz + tar -xzf SDL2-${{ inputs.SDL2_VERSION }}.tar.gz + cd SDL2-${{ inputs.SDL2_VERSION }} ./configure make -j 10 sudo make install @@ -54,7 +63,7 @@ jobs: run: | git clone https://github.com/Mr-Wiseguy/N64Recomp.git --recurse-submodules N64RecompSource cd N64RecompSource - git checkout 2a2df89349ff25a3afb3a09617deb3a166efe2f3 + git checkout ${{ inputs.N64RECOMP_COMMIT }} git submodule update --init --recursive # enable ccache @@ -128,7 +137,7 @@ jobs: run: | git clone https://github.com/Mr-Wiseguy/N64Recomp.git --recurse-submodules N64RecompSource cd N64RecompSource - git checkout 2a2df89349ff25a3afb3a09617deb3a166efe2f3 + git checkout ${{ inputs.N64RECOMP_COMMIT }} git submodule update --init --recursive # enable ccache @@ -158,6 +167,8 @@ jobs: cmake -DCMAKE_BUILD_TYPE=${{ matrix.type }} -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER=clang-cl -DCMAKE_C_COMPILER=clang-cl -DCMAKE_MAKE_PROGRAM=ninja -G Ninja -S . -B cmake-build -DCMAKE_CXX_FLAGS="-Xclang -fexceptions -Xclang -fcxx-exceptions" cmake --build cmake-build --config ${{ matrix.type }} --target Zelda64Recompiled -j $cpuCores + env: + SDL2_VERSION: ${{ inputs.SDL2_VERSION }} - name: Prepare Archive run: | Move-Item -Path "cmake-build/Zelda64Recompiled.exe" -Destination "Zelda64Recompiled.exe" diff --git a/CMakeLists.txt b/CMakeLists.txt index 1f470e9..e72e64c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -179,11 +179,17 @@ endif() if (WIN32) include(FetchContent) + + if (DEFINED ENV{SDL2_VERSION}) + set(SDL2_VERSION $ENV{SDL2_VERSION}) + else() + set(SDL2_VERSION "2.28.5") + endif() + # Fetch SDL2 on windows FetchContent_Declare( sdl2 - URL https://github.com/libsdl-org/SDL/releases/download/release-2.28.5/SDL2-devel-2.28.5-VC.zip - URL_HASH MD5=d8173db078e54040c666f411c5a6afff + URL https://github.com/libsdl-org/SDL/releases/download/release-${SDL2_VERSION}/SDL2-devel-${SDL2_VERSION}-VC.zip ) FetchContent_MakeAvailable(sdl2) target_include_directories(Zelda64Recompiled PRIVATE