Skip to content

Build in C++98 to ensure better compatibility #317

Build in C++98 to ensure better compatibility

Build in C++98 to ensure better compatibility #317

Workflow file for this run

name: CI
on: [push, pull_request, workflow_dispatch]
concurrency:
group: environment-${{github.ref}}
cancel-in-progress: true
jobs:
build:
name: ${{ matrix.platform.name }} ${{ matrix.type.name }}
runs-on: ${{ matrix.platform.os }}
strategy:
fail-fast: false
matrix:
platform:
- { name: Windows VS2019, os: windows-2019 }
- { name: Windows VS2022, os: windows-2022 }
- { name: Windows ClangCL, os: windows-2022, flags: -T ClangCL }
- { name: Windows Clang, os: windows-2022, flags: -GNinja -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ }
- { name: Linux GCC, os: ubuntu-22.04, flags: -GNinja }
- { name: Linux Clang, os: ubuntu-22.04, flags: -GNinja -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ }
- { name: MacOS, os: macos-12, flags: -GNinja }
type:
- { name: Debug }
- { name: Release }
steps:
- name: Get CMake and Ninja
uses: lukka/get-cmake@latest
with:
ninjaVersion: latest
- name: Install Linux Dependencies
if: runner.os == 'Linux'
run: sudo apt-get update && sudo apt-get install libxrandr-dev libxcursor-dev libudev-dev libopenal-dev libflac-dev libvorbis-dev libgl1-mesa-dev libegl1-mesa-dev
- name: Checkout SFML
uses: actions/checkout@v3
with:
repository: SFML/SFML
ref: 2.6.0
path: SFML
- name: Configure SFML CMake
shell: bash
run: |
cmake -S $GITHUB_WORKSPACE/SFML -B $GITHUB_WORKSPACE/SFML/build \
-DBUILD_SHARED_LIBS=ON \
-DCMAKE_BUILD_TYPE=${{matrix.type.name}} \
-DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/SFML/install \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DSFML_BUILD_EXAMPLES=OFF \
-DSFML_BUILD_TEST_SUITE=OFF \
${{matrix.platform.flags}}
- name: Build SFML
shell: bash
run: cmake --build $GITHUB_WORKSPACE/SFML/build --config ${{matrix.type.name}} --target install
- name: Checkout CSFML
uses: actions/checkout@v3
with:
path: CSFML
- name: Configure CSFML CMake
shell: bash
run: |
cmake -S $GITHUB_WORKSPACE/CSFML -B $GITHUB_WORKSPACE/CSFML/build \
-DBUILD_SHARED_LIBS=ON \
-DCMAKE_BUILD_TYPE=${{matrix.type.name}} \
-DCMAKE_CXX_STANDARD=98 \
-DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/CSFML/install \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DCSFML_BUILD_EXAMPLES=ON \
-DCSFML_LINK_SFML_STATICALLY=OFF \
-DSFML_DIR=$GITHUB_WORKSPACE/SFML/install/lib/cmake/SFML \
-DWARNINGS_AS_ERRORS=ON \
${{matrix.platform.flags}}
- name: Build CSFML
shell: bash
run: cmake --build $GITHUB_WORKSPACE/CSFML/build --config ${{matrix.type.name}} --target install