Skip to content

Surface: make SurfaceWindow and SurfaceSDLWindow from the pure virtua… #451

Surface: make SurfaceWindow and SurfaceSDLWindow from the pure virtua…

Surface: make SurfaceWindow and SurfaceSDLWindow from the pure virtua… #451

name: CMake_windows_mingw-w64
on:
push:
pull_request:
types: [opened, reopened]
env:
BUILD_TYPE: Release
jobs:
build:
strategy:
fail-fast: false
matrix:
include:
- { sys: ucrt64, env: ucrt-x86_64 }
- { sys: mingw32, env: i686 }
runs-on: windows-latest
defaults:
run:
shell: msys2 {0}
steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'
- uses: msys2/setup-msys2@v2
with:
msystem: ${{matrix.sys}}
update: true
install: curl git mingw-w64-${{matrix.env}}-gcc mingw-w64-${{matrix.env}}-make
- name: Downloading cmake
run: |
curl -O "https://repo.msys2.org/mingw/${{matrix.sys}}/mingw-w64-${{matrix.env}}-cmake-3.28.3-2-any.pkg.tar.zst"
- name: Installing cmake
run: |
pacman -U --noconfirm "mingw-w64-${{matrix.env}}-cmake-3.28.3-2-any.pkg.tar.zst"
- name: Create Build Environment
run: cmake -E make_directory "${{github.workspace}}\build"
- name: Get number of CPU cores
uses: SimenB/github-actions-cpu-cores@v2
id: cpu-cores
- name: Handling project dependencies
working-directory: ${{github.workspace}}\deps
run: |
cmake . -G "MinGW Makefiles" -D CMAKE_BUILD_TYPE=$BUILD_TYPE
cmake --build . -j ${{steps.cpu-cores.outputs.count}} --config $BUILD_TYPE
- name: Configure CMake
working-directory: ${{github.workspace}}\build
run: cmake $GITHUB_WORKSPACE -G "MinGW Makefiles" -D CMAKE_BUILD_TYPE=$BUILD_TYPE -D FGE_DEPS_PATH="deps/libs"
- name: Build
working-directory: ${{github.workspace}}\build
run: cmake --build . -j ${{steps.cpu-cores.outputs.count}} --config $BUILD_TYPE
- name: Test
working-directory: ${{github.workspace}}\build
run: ctest -C $BUILD_TYPE --verbose
- name: Installing
working-directory: ${{github.workspace}}\build
run: cmake --install .
- uses: actions/upload-artifact@v4
with:
name: FastEngine-windows-${{matrix.env}}-${{matrix.sys}}
path: ${{github.workspace}}\install\FastEngine*
if-no-files-found: error
retention-days: 3
compression-level: 9