From dad4f13f9df96dd0d685ecf640f5a53eaa72ecf1 Mon Sep 17 00:00:00 2001 From: Juna <46632782+JunaMeinhold@users.noreply.github.com> Date: Mon, 8 Jul 2024 10:09:57 +0200 Subject: [PATCH] Create cmake-multi-platform.yml --- .github/workflows/cmake-multi-platform.yml | 61 ++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 .github/workflows/cmake-multi-platform.yml diff --git a/.github/workflows/cmake-multi-platform.yml b/.github/workflows/cmake-multi-platform.yml new file mode 100644 index 0000000..a1c9c2b --- /dev/null +++ b/.github/workflows/cmake-multi-platform.yml @@ -0,0 +1,61 @@ +name: Build and Link SDL2 Project + +on: [push, pull_request] + +jobs: + build: + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-latest, windows-latest, macos-latest] + steps: + - uses: actions/checkout@v2 + with: + repository: 'libsdl-org/SDL' + ref: 'release-2.30.5' + path: 'SDL' + + - name: Checkout specific commit + run: | + cd SDL + git checkout 2eef7ca + + - name: Install dependencies on Ubuntu + if: matrix.os == 'ubuntu-latest' + run: | + sudo apt-get update + sudo apt-get install -y build-essential libasound2-dev libpulse-dev libx11-dev cmake + + - name: Install dependencies on macOS + if: matrix.os == 'macos-latest' + run: | + brew update + brew install cmake + + - name: Install dependencies on Windows + if: matrix.os == 'windows-latest' + run: | + choco install cmake --installargs 'ADD_CMAKE_TO_PATH=System' + + - name: Configure SDL2 with CMake + run: cmake -S SDL -B build/SDL + + - name: Build SDL2 + run: cmake --build build/SDL --config Release + + - uses: actions/checkout@v2 + with: + path: 'MyProject' # Replace with your project's path or name + + - name: Configure Project with CMake + run: cmake -S MyProject -B build/MyProject -DSDL2_DIR=build/SDL + + - name: Build Project + run: cmake --build build/MyProject --config Release + + - name: Upload Artifacts + uses: actions/upload-artifact@v2 + with: + name: ${{ matrix.os }}-artifacts + path: build/MyProject/** + if-no-files-found: error # 'warn' or 'ignore' or 'error'