mirror of
https://github.com/SFML/CSFML.git
synced 2026-10-26 13:06:13 +01:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
58d0990004 | ||
|
|
fdef4c8747 | ||
|
|
bad0295fb9 | ||
|
|
9fe9c109af |
No files matched your search
+46
-26
@@ -2,6 +2,8 @@ name: CI
|
|||||||
|
|
||||||
on: [push, pull_request, workflow_dispatch]
|
on: [push, pull_request, workflow_dispatch]
|
||||||
|
|
||||||
|
permissions: {}
|
||||||
|
|
||||||
concurrency:
|
concurrency:
|
||||||
group: environment-${{github.ref}}
|
group: environment-${{github.ref}}
|
||||||
cancel-in-progress: true
|
cancel-in-progress: true
|
||||||
@@ -22,10 +24,11 @@ jobs:
|
|||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
platform:
|
platform:
|
||||||
- { name: Windows VS2022 x86, os: windows-2025, flags: -AWin32 }
|
- { name: Windows VS2026 x86, os: windows-2025-vs2026, flags: -AWin32 }
|
||||||
- { name: Windows VS2022 x64, os: windows-2025, flags: -Ax64 }
|
- { name: Windows VS2026 x64, os: windows-2025-vs2026, flags: -Ax64 }
|
||||||
- { name: Windows ClangCL, os: windows-2025, flags: -T ClangCL }
|
# ClangCL is disabled until we build against SFML 3.1, the FLAC version bundled with SFML 3.0 fails to compile with VS2026's ClangCL
|
||||||
- { name: Windows Clang, os: windows-2025, flags: -GNinja -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ }
|
# - { name: Windows ClangCL, os: windows-2025-vs2026, flags: -T ClangCL }
|
||||||
|
- { name: Windows Clang, os: windows-2025-vs2026, flags: -GNinja -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ }
|
||||||
- { name: Linux GCC, os: ubuntu-24.04, flags: -GNinja }
|
- { name: Linux GCC, os: ubuntu-24.04, flags: -GNinja }
|
||||||
- { name: Linux Clang, os: ubuntu-24.04, flags: -GNinja -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ }
|
- { name: Linux Clang, os: ubuntu-24.04, flags: -GNinja -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ }
|
||||||
- { name: MacOS, os: macos-15, flags: -GNinja }
|
- { name: MacOS, os: macos-15, flags: -GNinja }
|
||||||
@@ -40,7 +43,7 @@ jobs:
|
|||||||
- name: Get CMake and Ninja
|
- name: Get CMake and Ninja
|
||||||
uses: lukka/get-cmake@latest
|
uses: lukka/get-cmake@latest
|
||||||
with:
|
with:
|
||||||
cmakeVersion: ${{ runner.os == 'Windows' && '3.25' || '3.22' }}
|
cmakeVersion: ${{ runner.os == 'Windows' && '4.2' || '3.22' }} # Visual Studio 2026 generator requires CMake 4.2 or later
|
||||||
ninjaVersion: latest
|
ninjaVersion: latest
|
||||||
|
|
||||||
- name: Install Linux Dependencies
|
- name: Install Linux Dependencies
|
||||||
@@ -48,44 +51,55 @@ jobs:
|
|||||||
run: sudo apt-get update && sudo apt-get install libxrandr-dev libxcursor-dev libxi-dev libudev-dev libflac-dev libvorbis-dev libgl1-mesa-dev libegl1-mesa-dev libfreetype-dev
|
run: sudo apt-get update && sudo apt-get install libxrandr-dev libxcursor-dev libxi-dev libudev-dev libflac-dev libvorbis-dev libgl1-mesa-dev libegl1-mesa-dev libfreetype-dev
|
||||||
|
|
||||||
- name: Checkout SFML
|
- name: Checkout SFML
|
||||||
uses: actions/checkout@v6
|
uses: actions/checkout@v7
|
||||||
with:
|
with:
|
||||||
|
persist-credentials: false
|
||||||
repository: SFML/SFML
|
repository: SFML/SFML
|
||||||
ref: ${{env.SFML_VERSION}}
|
ref: ${{env.SFML_VERSION}}
|
||||||
path: SFML
|
path: SFML
|
||||||
|
|
||||||
- name: Configure SFML CMake
|
- name: Configure SFML CMake
|
||||||
|
env:
|
||||||
|
BUILD_TYPE: ${{ matrix.type.name }}
|
||||||
|
CMAKE_FLAGS: ${{ matrix.platform.flags }} ${{ matrix.config.flags }}
|
||||||
run: |
|
run: |
|
||||||
cmake -S SFML -B SFML/build \
|
cmake -S SFML -B SFML/build \
|
||||||
-DCMAKE_BUILD_TYPE=${{matrix.type.name}} \
|
-DCMAKE_BUILD_TYPE="$BUILD_TYPE" \
|
||||||
-DCMAKE_INSTALL_PREFIX=SFML/install \
|
-DCMAKE_INSTALL_PREFIX=SFML/install \
|
||||||
${{matrix.platform.flags}} \
|
$CMAKE_FLAGS
|
||||||
${{matrix.config.flags}}
|
|
||||||
|
|
||||||
- name: Build SFML
|
- name: Build SFML
|
||||||
run: cmake --build SFML/build --config ${{matrix.type.name}} --target install
|
env:
|
||||||
|
BUILD_TYPE: ${{ matrix.type.name }}
|
||||||
|
run: cmake --build SFML/build --config "$BUILD_TYPE" --target install
|
||||||
|
|
||||||
- name: Checkout CSFML
|
- name: Checkout CSFML
|
||||||
uses: actions/checkout@v6
|
uses: actions/checkout@v7
|
||||||
with:
|
with:
|
||||||
|
persist-credentials: false
|
||||||
path: CSFML
|
path: CSFML
|
||||||
|
|
||||||
- name: Configure CSFML CMake
|
- name: Configure CSFML CMake
|
||||||
|
env:
|
||||||
|
BUILD_TYPE: ${{ matrix.type.name }}
|
||||||
|
CMAKE_FLAGS: ${{ matrix.platform.flags }} ${{ matrix.config.flags }} ${{ matrix.config.csfml_flags }}
|
||||||
run: |
|
run: |
|
||||||
cmake --preset dev -S CSFML -B CSFML/build \
|
cmake --preset dev -S CSFML -B CSFML/build \
|
||||||
-DCMAKE_BUILD_TYPE=${{matrix.type.name}} \
|
-DCMAKE_BUILD_TYPE="$BUILD_TYPE" \
|
||||||
-DCMAKE_INSTALL_PREFIX=CSFML/install \
|
-DCMAKE_INSTALL_PREFIX=CSFML/install \
|
||||||
-DSFML_ROOT=SFML/install \
|
-DSFML_ROOT=SFML/install \
|
||||||
-DCMAKE_VERBOSE_MAKEFILE=ON \
|
-DCMAKE_VERBOSE_MAKEFILE=ON \
|
||||||
${{matrix.platform.flags}} \
|
$CMAKE_FLAGS
|
||||||
${{matrix.config.flags}} \
|
|
||||||
${{matrix.config.csfml_flags}}
|
|
||||||
|
|
||||||
- name: Build CSFML
|
- name: Build CSFML
|
||||||
run: cmake --build CSFML/build --config ${{matrix.type.name}} --target install
|
env:
|
||||||
|
BUILD_TYPE: ${{ matrix.type.name }}
|
||||||
|
run: cmake --build CSFML/build --config "$BUILD_TYPE" --target install
|
||||||
|
|
||||||
- name: Test
|
- name: Test
|
||||||
run: ctest --test-dir CSFML/build -C ${{matrix.type.name}} --output-on-failure
|
env:
|
||||||
|
BUILD_TYPE: ${{ matrix.type.name }}
|
||||||
|
run: ctest --test-dir CSFML/build -C "$BUILD_TYPE" --output-on-failure
|
||||||
|
|
||||||
format:
|
format:
|
||||||
name: Formatting
|
name: Formatting
|
||||||
@@ -96,7 +110,9 @@ jobs:
|
|||||||
run: sudo apt-get install clang-format-17
|
run: sudo apt-get install clang-format-17
|
||||||
|
|
||||||
- name: Checkout Code
|
- name: Checkout Code
|
||||||
uses: actions/checkout@v6
|
uses: actions/checkout@v7
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
|
|
||||||
- name: Format Code
|
- name: Format Code
|
||||||
run: cmake -DCLANG_FORMAT_EXECUTABLE=clang-format-17 -P cmake/Format.cmake
|
run: cmake -DCLANG_FORMAT_EXECUTABLE=clang-format-17 -P cmake/Format.cmake
|
||||||
@@ -112,18 +128,19 @@ jobs:
|
|||||||
- name: Get CMake and Ninja
|
- name: Get CMake and Ninja
|
||||||
uses: lukka/get-cmake@latest
|
uses: lukka/get-cmake@latest
|
||||||
with:
|
with:
|
||||||
cmakeVersion: ${{ runner.os == 'Windows' && '3.25' || '3.22' }}
|
cmakeVersion: ${{ runner.os == 'Windows' && '4.2' || '3.22' }} # Visual Studio 2026 generator requires CMake 4.2 or later
|
||||||
ninjaVersion: latest
|
ninjaVersion: latest
|
||||||
|
|
||||||
- name: Install Dependencies
|
- name: Install Dependencies
|
||||||
run: |
|
run: |
|
||||||
brew update
|
brew update
|
||||||
brew install llvm ninja
|
brew install llvm@18 ninja
|
||||||
echo /opt/homebrew/opt/llvm/bin >> $GITHUB_PATH
|
echo "$(brew --prefix llvm@18)/bin" >> $GITHUB_PATH
|
||||||
|
|
||||||
- name: Checkout SFML
|
- name: Checkout SFML
|
||||||
uses: actions/checkout@v6
|
uses: actions/checkout@v7
|
||||||
with:
|
with:
|
||||||
|
persist-credentials: false
|
||||||
repository: SFML/SFML
|
repository: SFML/SFML
|
||||||
ref: ${{env.SFML_VERSION}}
|
ref: ${{env.SFML_VERSION}}
|
||||||
path: SFML
|
path: SFML
|
||||||
@@ -135,8 +152,9 @@ jobs:
|
|||||||
run: cmake --build SFML/build --target install
|
run: cmake --build SFML/build --target install
|
||||||
|
|
||||||
- name: Checkout CSFML
|
- name: Checkout CSFML
|
||||||
uses: actions/checkout@v6
|
uses: actions/checkout@v7
|
||||||
with:
|
with:
|
||||||
|
persist-credentials: false
|
||||||
path: CSFML
|
path: CSFML
|
||||||
|
|
||||||
- name: Configure CSFML CMake
|
- name: Configure CSFML CMake
|
||||||
@@ -153,7 +171,7 @@ jobs:
|
|||||||
- name: Get CMake and Ninja
|
- name: Get CMake and Ninja
|
||||||
uses: lukka/get-cmake@latest
|
uses: lukka/get-cmake@latest
|
||||||
with:
|
with:
|
||||||
cmakeVersion: ${{ runner.os == 'Windows' && '3.25' || '3.22' }}
|
cmakeVersion: ${{ runner.os == 'Windows' && '4.2' || '3.22' }} # Visual Studio 2026 generator requires CMake 4.2 or later
|
||||||
ninjaVersion: latest
|
ninjaVersion: latest
|
||||||
|
|
||||||
- name: Install Doxygen
|
- name: Install Doxygen
|
||||||
@@ -162,8 +180,9 @@ jobs:
|
|||||||
brew install doxygen ninja || true
|
brew install doxygen ninja || true
|
||||||
|
|
||||||
- name: Checkout SFML
|
- name: Checkout SFML
|
||||||
uses: actions/checkout@v6
|
uses: actions/checkout@v7
|
||||||
with:
|
with:
|
||||||
|
persist-credentials: false
|
||||||
repository: SFML/SFML
|
repository: SFML/SFML
|
||||||
ref: ${{env.SFML_VERSION}}
|
ref: ${{env.SFML_VERSION}}
|
||||||
path: SFML
|
path: SFML
|
||||||
@@ -175,8 +194,9 @@ jobs:
|
|||||||
run: cmake --build SFML/build --target install
|
run: cmake --build SFML/build --target install
|
||||||
|
|
||||||
- name: Checkout CSFML
|
- name: Checkout CSFML
|
||||||
uses: actions/checkout@v6
|
uses: actions/checkout@v7
|
||||||
with:
|
with:
|
||||||
|
persist-credentials: false
|
||||||
path: CSFML
|
path: CSFML
|
||||||
|
|
||||||
- name: Configure CSFML
|
- name: Configure CSFML
|
||||||
|
|||||||
+32
-20
@@ -9,6 +9,8 @@ on:
|
|||||||
- "**"
|
- "**"
|
||||||
workflow_dispatch: {}
|
workflow_dispatch: {}
|
||||||
|
|
||||||
|
permissions: {}
|
||||||
|
|
||||||
concurrency:
|
concurrency:
|
||||||
group: nuget-${{github.ref}}
|
group: nuget-${{github.ref}}
|
||||||
cancel-in-progress: true
|
cancel-in-progress: true
|
||||||
@@ -19,12 +21,13 @@ env:
|
|||||||
jobs:
|
jobs:
|
||||||
windows-x86-x64:
|
windows-x86-x64:
|
||||||
name: Windows x86 x64
|
name: Windows x86 x64
|
||||||
runs-on: windows-2025
|
runs-on: windows-2025-vs2026
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout CSFML
|
- name: Checkout CSFML
|
||||||
uses: actions/checkout@v6
|
uses: actions/checkout@v7
|
||||||
with:
|
with:
|
||||||
|
persist-credentials: false
|
||||||
path: CSFML
|
path: CSFML
|
||||||
|
|
||||||
- name: Build x86
|
- name: Build x86
|
||||||
@@ -40,19 +43,20 @@ jobs:
|
|||||||
./build.win.ps1 "win-x64"
|
./build.win.ps1 "win-x64"
|
||||||
|
|
||||||
- name: Upload Artifact
|
- name: Upload Artifact
|
||||||
uses: actions/upload-artifact@v6
|
uses: actions/upload-artifact@v7
|
||||||
with:
|
with:
|
||||||
name: CSFML-win-x86-x64
|
name: CSFML-win-x86-x64
|
||||||
path: CSFML/tools/nuget/CSFML/runtimes
|
path: CSFML/tools/nuget/CSFML/runtimes
|
||||||
|
|
||||||
windows-arm64:
|
windows-arm64:
|
||||||
name: Windows ARM64
|
name: Windows ARM64
|
||||||
runs-on: windows-11-arm
|
runs-on: windows-11-vs2026-arm
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout CSFML
|
- name: Checkout CSFML
|
||||||
uses: actions/checkout@v6
|
uses: actions/checkout@v7
|
||||||
with:
|
with:
|
||||||
|
persist-credentials: false
|
||||||
path: CSFML
|
path: CSFML
|
||||||
|
|
||||||
- name: Build ARM64
|
- name: Build ARM64
|
||||||
@@ -62,7 +66,7 @@ jobs:
|
|||||||
./build.win.ps1 "win-arm64"
|
./build.win.ps1 "win-arm64"
|
||||||
|
|
||||||
- name: Upload Artifact
|
- name: Upload Artifact
|
||||||
uses: actions/upload-artifact@v6
|
uses: actions/upload-artifact@v7
|
||||||
with:
|
with:
|
||||||
name: CSFML-win-arm64
|
name: CSFML-win-arm64
|
||||||
path: CSFML/tools/nuget/CSFML/runtimes
|
path: CSFML/tools/nuget/CSFML/runtimes
|
||||||
@@ -75,8 +79,9 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout CSFML
|
- name: Checkout CSFML
|
||||||
uses: actions/checkout@v6
|
uses: actions/checkout@v7
|
||||||
with:
|
with:
|
||||||
|
persist-credentials: false
|
||||||
path: CSFML
|
path: CSFML
|
||||||
|
|
||||||
- name: Build
|
- name: Build
|
||||||
@@ -87,7 +92,7 @@ jobs:
|
|||||||
./docker.linux-x64.sh
|
./docker.linux-x64.sh
|
||||||
|
|
||||||
- name: Upload Artifact
|
- name: Upload Artifact
|
||||||
uses: actions/upload-artifact@v6
|
uses: actions/upload-artifact@v7
|
||||||
with:
|
with:
|
||||||
name: CSFML-linux-x64
|
name: CSFML-linux-x64
|
||||||
path: CSFML/tools/nuget/CSFML/runtimes
|
path: CSFML/tools/nuget/CSFML/runtimes
|
||||||
@@ -98,8 +103,9 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout CSFML
|
- name: Checkout CSFML
|
||||||
uses: actions/checkout@v6
|
uses: actions/checkout@v7
|
||||||
with:
|
with:
|
||||||
|
persist-credentials: false
|
||||||
path: CSFML
|
path: CSFML
|
||||||
|
|
||||||
- name: Install dependencies & cross compiler
|
- name: Install dependencies & cross compiler
|
||||||
@@ -116,7 +122,7 @@ jobs:
|
|||||||
./build.linux.sh linux-arm arm-linux-gnueabihf-g++ arm-linux-gnueabihf-gcc
|
./build.linux.sh linux-arm arm-linux-gnueabihf-g++ arm-linux-gnueabihf-gcc
|
||||||
|
|
||||||
- name: Upload Artifact
|
- name: Upload Artifact
|
||||||
uses: actions/upload-artifact@v6
|
uses: actions/upload-artifact@v7
|
||||||
with:
|
with:
|
||||||
name: CSFML-linux-arm
|
name: CSFML-linux-arm
|
||||||
path: CSFML/tools/nuget/CSFML/runtimes
|
path: CSFML/tools/nuget/CSFML/runtimes
|
||||||
@@ -127,8 +133,9 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout CSFML
|
- name: Checkout CSFML
|
||||||
uses: actions/checkout@v6
|
uses: actions/checkout@v7
|
||||||
with:
|
with:
|
||||||
|
persist-credentials: false
|
||||||
path: CSFML
|
path: CSFML
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
@@ -144,7 +151,7 @@ jobs:
|
|||||||
./build.linux.sh linux-arm64
|
./build.linux.sh linux-arm64
|
||||||
|
|
||||||
- name: Upload Artifact
|
- name: Upload Artifact
|
||||||
uses: actions/upload-artifact@v6
|
uses: actions/upload-artifact@v7
|
||||||
with:
|
with:
|
||||||
name: CSFML-linux-arm64
|
name: CSFML-linux-arm64
|
||||||
path: CSFML/tools/nuget/CSFML/runtimes
|
path: CSFML/tools/nuget/CSFML/runtimes
|
||||||
@@ -157,8 +164,9 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout CSFML
|
- name: Checkout CSFML
|
||||||
uses: actions/checkout@v6
|
uses: actions/checkout@v7
|
||||||
with:
|
with:
|
||||||
|
persist-credentials: false
|
||||||
path: CSFML
|
path: CSFML
|
||||||
|
|
||||||
- name: Build
|
- name: Build
|
||||||
@@ -169,7 +177,7 @@ jobs:
|
|||||||
./docker.linux-musl-x64.sh
|
./docker.linux-musl-x64.sh
|
||||||
|
|
||||||
- name: Upload Artifact
|
- name: Upload Artifact
|
||||||
uses: actions/upload-artifact@v6
|
uses: actions/upload-artifact@v7
|
||||||
with:
|
with:
|
||||||
name: CSFML-linux-musl-x64
|
name: CSFML-linux-musl-x64
|
||||||
path: CSFML/tools/nuget/CSFML/runtimes
|
path: CSFML/tools/nuget/CSFML/runtimes
|
||||||
@@ -180,8 +188,9 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout CSFML
|
- name: Checkout CSFML
|
||||||
uses: actions/checkout@v6
|
uses: actions/checkout@v7
|
||||||
with:
|
with:
|
||||||
|
persist-credentials: false
|
||||||
path: CSFML
|
path: CSFML
|
||||||
|
|
||||||
- name: Install necessary tooling
|
- name: Install necessary tooling
|
||||||
@@ -198,7 +207,7 @@ jobs:
|
|||||||
./build.macos.sh "osx-arm64"
|
./build.macos.sh "osx-arm64"
|
||||||
|
|
||||||
- name: Upload Artifact
|
- name: Upload Artifact
|
||||||
uses: actions/upload-artifact@v6
|
uses: actions/upload-artifact@v7
|
||||||
with:
|
with:
|
||||||
name: CSFML-macOS-x64-arm64
|
name: CSFML-macOS-x64-arm64
|
||||||
path: CSFML/tools/nuget/CSFML/runtimes
|
path: CSFML/tools/nuget/CSFML/runtimes
|
||||||
@@ -216,11 +225,12 @@ jobs:
|
|||||||
- macos-x64-arm64
|
- macos-x64-arm64
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout CSFML
|
- name: Checkout CSFML
|
||||||
uses: actions/checkout@v6
|
uses: actions/checkout@v7
|
||||||
with:
|
with:
|
||||||
|
persist-credentials: false
|
||||||
path: CSFML
|
path: CSFML
|
||||||
- name: Download Artifacts
|
- name: Download Artifacts
|
||||||
uses: actions/download-artifact@v7
|
uses: actions/download-artifact@v8
|
||||||
with:
|
with:
|
||||||
path: CSFML/tools/nuget/CSFML/runtimes
|
path: CSFML/tools/nuget/CSFML/runtimes
|
||||||
merge-multiple: true
|
merge-multiple: true
|
||||||
@@ -230,7 +240,9 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
dotnet-version: 10.0.x
|
dotnet-version: 10.0.x
|
||||||
- name: Enforce SDK Version
|
- name: Enforce SDK Version
|
||||||
run: dotnet new globaljson --sdk-version ${{ steps.setup-dotnet.outputs.dotnet-version }} --force
|
env:
|
||||||
|
DOTNET_VERSION: ${{ steps.setup-dotnet.outputs.dotnet-version }}
|
||||||
|
run: dotnet new globaljson --sdk-version "$DOTNET_VERSION" --force
|
||||||
- name: Verify SDK Installation
|
- name: Verify SDK Installation
|
||||||
run: dotnet --info
|
run: dotnet --info
|
||||||
- name: Build NuGet Package
|
- name: Build NuGet Package
|
||||||
@@ -238,7 +250,7 @@ jobs:
|
|||||||
cd CSFML/tools/nuget
|
cd CSFML/tools/nuget
|
||||||
dotnet build --configuration Release --verbosity detailed
|
dotnet build --configuration Release --verbosity detailed
|
||||||
- name: Upload NuGet Package
|
- name: Upload NuGet Package
|
||||||
uses: actions/upload-artifact@v6
|
uses: actions/upload-artifact@v7
|
||||||
with:
|
with:
|
||||||
name: CSFML-NuGet-Package
|
name: CSFML-NuGet-Package
|
||||||
path: CSFML/tools/nuget/CSFML/bin/Release/*.nupkg
|
path: CSFML/tools/nuget/CSFML/bin/Release/*.nupkg
|
||||||
@@ -9,6 +9,8 @@ on:
|
|||||||
- "**"
|
- "**"
|
||||||
workflow_dispatch: {}
|
workflow_dispatch: {}
|
||||||
|
|
||||||
|
permissions: {}
|
||||||
|
|
||||||
concurrency:
|
concurrency:
|
||||||
group: release-${{github.ref}}
|
group: release-${{github.ref}}
|
||||||
cancel-in-progress: true
|
cancel-in-progress: true
|
||||||
@@ -16,21 +18,17 @@ concurrency:
|
|||||||
env:
|
env:
|
||||||
SFML_VERSION: 3.0.2
|
SFML_VERSION: 3.0.2
|
||||||
|
|
||||||
|
defaults:
|
||||||
|
run:
|
||||||
|
shell: bash
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
windows-x86:
|
windows-x86:
|
||||||
name: Windows x86
|
name: Windows x86
|
||||||
runs-on: windows-2025
|
runs-on: windows-2025-vs2026
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Cache MinGW x86
|
|
||||||
id: mingw-x86-cache
|
|
||||||
uses: actions/cache@v5
|
|
||||||
with:
|
|
||||||
path: ${{ github.workspace }}/mingw32
|
|
||||||
key: 15.2.0posix-13.0.0-ucrt-r1-x86
|
|
||||||
|
|
||||||
- name: Install MinGW x86
|
- name: Install MinGW x86
|
||||||
if: steps.mingw-x86-cache.outputs.cache-hit != 'true'
|
|
||||||
uses: bwoodsend/setup-winlibs-action@v1
|
uses: bwoodsend/setup-winlibs-action@v1
|
||||||
id: winlibs-32
|
id: winlibs-32
|
||||||
with:
|
with:
|
||||||
@@ -41,30 +39,32 @@ jobs:
|
|||||||
add_to_path: false
|
add_to_path: false
|
||||||
|
|
||||||
- name: Checkout SFML
|
- name: Checkout SFML
|
||||||
uses: actions/checkout@v6
|
uses: actions/checkout@v7
|
||||||
with:
|
with:
|
||||||
|
persist-credentials: false
|
||||||
repository: SFML/SFML
|
repository: SFML/SFML
|
||||||
ref: ${{ env.SFML_VERSION }}
|
ref: ${{ env.SFML_VERSION }}
|
||||||
path: SFML
|
path: SFML
|
||||||
|
|
||||||
- name: Checkout CSFML
|
- name: Checkout CSFML
|
||||||
uses: actions/checkout@v6
|
uses: actions/checkout@v7
|
||||||
with:
|
with:
|
||||||
|
persist-credentials: false
|
||||||
path: CSFML
|
path: CSFML
|
||||||
|
|
||||||
- name: Build SFML
|
- name: Build SFML
|
||||||
run: |
|
run: |
|
||||||
cmake -S SFML -B SFML-build -A Win32 -G "Visual Studio 17 2022" -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/SFML-install -DCMAKE_VERBOSE_MAKEFILE=ON
|
cmake -S SFML -B SFML-build -A Win32 -G "Visual Studio 18 2026" -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release "-DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/SFML-install" -DCMAKE_VERBOSE_MAKEFILE=ON
|
||||||
cmake --build SFML-build --config Release --target install
|
cmake --build SFML-build --config Release --target install
|
||||||
|
|
||||||
- name: Build CSFML
|
- name: Build CSFML
|
||||||
run: |
|
run: |
|
||||||
cmake -S CSFML -B CSFML-build -A Win32 -G "Visual Studio 17 2022" -DBUILD_SHARED_LIBS=ON -DCSFML_LINK_SFML_STATICALLY=OFF -DCMAKE_BUILD_TYPE=Release -DSFML_ROOT=${{ github.workspace }}/SFML-install -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/CSFML-install -DCMAKE_VERBOSE_MAKEFILE=ON
|
cmake -S CSFML -B CSFML-build -A Win32 -G "Visual Studio 18 2026" -DBUILD_SHARED_LIBS=ON -DCSFML_LINK_SFML_STATICALLY=OFF -DCMAKE_BUILD_TYPE=Release "-DSFML_ROOT=$GITHUB_WORKSPACE/SFML-install" "-DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/CSFML-install" -DCMAKE_VERBOSE_MAKEFILE=ON
|
||||||
cmake --build CSFML-build --config Release --target install
|
cmake --build CSFML-build --config Release --target install
|
||||||
|
|
||||||
- name: Add MinGW to PATH
|
- name: Add MinGW to PATH
|
||||||
shell: bash
|
shell: bash
|
||||||
run: echo "${{ github.workspace }}\mingw32\bin" >> $GITHUB_PATH
|
run: echo "$GITHUB_WORKSPACE\mingw32\bin" >> "$GITHUB_PATH"
|
||||||
|
|
||||||
- name: Generate Import Libs for MinGW
|
- name: Generate Import Libs for MinGW
|
||||||
shell: pwsh
|
shell: pwsh
|
||||||
@@ -99,25 +99,17 @@ jobs:
|
|||||||
Move-Item -Path "CSFML-install\*" -Destination "install\CSFML"
|
Move-Item -Path "CSFML-install\*" -Destination "install\CSFML"
|
||||||
|
|
||||||
- name: Upload Artifact
|
- name: Upload Artifact
|
||||||
uses: actions/upload-artifact@v6
|
uses: actions/upload-artifact@v7
|
||||||
with:
|
with:
|
||||||
name: CSFML-windows-32-bit
|
name: CSFML-windows-32-bit
|
||||||
path: install/CSFML
|
path: install/CSFML
|
||||||
|
|
||||||
windows-x64:
|
windows-x64:
|
||||||
name: Windows x64
|
name: Windows x64
|
||||||
runs-on: windows-2025
|
runs-on: windows-2025-vs2026
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Cache MinGW x64
|
|
||||||
id: mingw-x64-cache
|
|
||||||
uses: actions/cache@v5
|
|
||||||
with:
|
|
||||||
path: ${{ github.workspace }}/mingw64
|
|
||||||
key: 15.2.0posix-13.0.0-ucrt-r1-x64
|
|
||||||
|
|
||||||
- name: Install MinGW x64
|
- name: Install MinGW x64
|
||||||
if: steps.mingw-x64-cache.outputs.cache-hit != 'true'
|
|
||||||
uses: bwoodsend/setup-winlibs-action@v1
|
uses: bwoodsend/setup-winlibs-action@v1
|
||||||
id: winlibs-64
|
id: winlibs-64
|
||||||
with:
|
with:
|
||||||
@@ -128,30 +120,32 @@ jobs:
|
|||||||
add_to_path: false
|
add_to_path: false
|
||||||
|
|
||||||
- name: Checkout SFML
|
- name: Checkout SFML
|
||||||
uses: actions/checkout@v6
|
uses: actions/checkout@v7
|
||||||
with:
|
with:
|
||||||
|
persist-credentials: false
|
||||||
repository: SFML/SFML
|
repository: SFML/SFML
|
||||||
ref: ${{ env.SFML_VERSION }}
|
ref: ${{ env.SFML_VERSION }}
|
||||||
path: SFML
|
path: SFML
|
||||||
|
|
||||||
- name: Checkout CSFML
|
- name: Checkout CSFML
|
||||||
uses: actions/checkout@v6
|
uses: actions/checkout@v7
|
||||||
with:
|
with:
|
||||||
|
persist-credentials: false
|
||||||
path: CSFML
|
path: CSFML
|
||||||
|
|
||||||
- name: Build SFML
|
- name: Build SFML
|
||||||
run: |
|
run: |
|
||||||
cmake -S SFML -B SFML-build -A x64 -G "Visual Studio 17 2022" -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/SFML-install -DCMAKE_VERBOSE_MAKEFILE=ON
|
cmake -S SFML -B SFML-build -A x64 -G "Visual Studio 18 2026" -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release "-DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/SFML-install" -DCMAKE_VERBOSE_MAKEFILE=ON
|
||||||
cmake --build SFML-build --config Release --target install
|
cmake --build SFML-build --config Release --target install
|
||||||
|
|
||||||
- name: Build CSFML
|
- name: Build CSFML
|
||||||
run: |
|
run: |
|
||||||
cmake -S CSFML -B CSFML-build -A x64 -G "Visual Studio 17 2022" -DBUILD_SHARED_LIBS=ON -DCSFML_LINK_SFML_STATICALLY=OFF -DCMAKE_BUILD_TYPE=Release -DSFML_ROOT=${{ github.workspace }}/SFML-install -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/CSFML-install -DCMAKE_VERBOSE_MAKEFILE=ON
|
cmake -S CSFML -B CSFML-build -A x64 -G "Visual Studio 18 2026" -DBUILD_SHARED_LIBS=ON -DCSFML_LINK_SFML_STATICALLY=OFF -DCMAKE_BUILD_TYPE=Release "-DSFML_ROOT=$GITHUB_WORKSPACE/SFML-install" "-DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/CSFML-install" -DCMAKE_VERBOSE_MAKEFILE=ON
|
||||||
cmake --build CSFML-build --config Release --target install
|
cmake --build CSFML-build --config Release --target install
|
||||||
|
|
||||||
- name: Add MinGW to PATH
|
- name: Add MinGW to PATH
|
||||||
shell: bash
|
shell: bash
|
||||||
run: echo "${{ github.workspace }}\mingw64\bin" >> $GITHUB_PATH
|
run: echo "$GITHUB_WORKSPACE\mingw64\bin" >> "$GITHUB_PATH"
|
||||||
|
|
||||||
- name: Generate Import Libs for MinGW
|
- name: Generate Import Libs for MinGW
|
||||||
shell: pwsh
|
shell: pwsh
|
||||||
@@ -186,36 +180,38 @@ jobs:
|
|||||||
Move-Item -Path "CSFML-install\*" -Destination "install\CSFML"
|
Move-Item -Path "CSFML-install\*" -Destination "install\CSFML"
|
||||||
|
|
||||||
- name: Upload Artifact
|
- name: Upload Artifact
|
||||||
uses: actions/upload-artifact@v6
|
uses: actions/upload-artifact@v7
|
||||||
with:
|
with:
|
||||||
name: CSFML-windows-64-bit
|
name: CSFML-windows-64-bit
|
||||||
path: install/CSFML
|
path: install/CSFML
|
||||||
|
|
||||||
windows-arm64:
|
windows-arm64:
|
||||||
name: Windows ARM64
|
name: Windows ARM64
|
||||||
runs-on: windows-2025
|
runs-on: windows-2025-vs2026
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout SFML
|
- name: Checkout SFML
|
||||||
uses: actions/checkout@v6
|
uses: actions/checkout@v7
|
||||||
with:
|
with:
|
||||||
|
persist-credentials: false
|
||||||
repository: SFML/SFML
|
repository: SFML/SFML
|
||||||
ref: ${{ env.SFML_VERSION }}
|
ref: ${{ env.SFML_VERSION }}
|
||||||
path: SFML
|
path: SFML
|
||||||
|
|
||||||
- name: Checkout CSFML
|
- name: Checkout CSFML
|
||||||
uses: actions/checkout@v6
|
uses: actions/checkout@v7
|
||||||
with:
|
with:
|
||||||
|
persist-credentials: false
|
||||||
path: CSFML
|
path: CSFML
|
||||||
|
|
||||||
- name: Build SFML
|
- name: Build SFML
|
||||||
run: |
|
run: |
|
||||||
cmake -S SFML -B SFML-build -A ARM64 -G "Visual Studio 17 2022" -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/SFML-install -DCMAKE_VERBOSE_MAKEFILE=ON
|
cmake -S SFML -B SFML-build -A ARM64 -G "Visual Studio 18 2026" -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release "-DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/SFML-install" -DCMAKE_VERBOSE_MAKEFILE=ON
|
||||||
cmake --build SFML-build --config Release --target install
|
cmake --build SFML-build --config Release --target install
|
||||||
|
|
||||||
- name: Build CSFML
|
- name: Build CSFML
|
||||||
run: |
|
run: |
|
||||||
cmake -S CSFML -B CSFML-build -A ARM64 -G "Visual Studio 17 2022" -DBUILD_SHARED_LIBS=ON -DCSFML_LINK_SFML_STATICALLY=OFF -DCMAKE_BUILD_TYPE=Release -DSFML_ROOT=${{ github.workspace }}/SFML-install -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/CSFML-install -DCMAKE_VERBOSE_MAKEFILE=ON
|
cmake -S CSFML -B CSFML-build -A ARM64 -G "Visual Studio 18 2026" -DBUILD_SHARED_LIBS=ON -DCSFML_LINK_SFML_STATICALLY=OFF -DCMAKE_BUILD_TYPE=Release "-DSFML_ROOT=$GITHUB_WORKSPACE/SFML-install" "-DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/CSFML-install" -DCMAKE_VERBOSE_MAKEFILE=ON
|
||||||
cmake --build CSFML-build --config Release --target install
|
cmake --build CSFML-build --config Release --target install
|
||||||
|
|
||||||
- name: Move Files
|
- name: Move Files
|
||||||
@@ -225,7 +221,7 @@ jobs:
|
|||||||
Move-Item -Path "CSFML-install\*" -Destination "install\CSFML"
|
Move-Item -Path "CSFML-install\*" -Destination "install\CSFML"
|
||||||
|
|
||||||
- name: Upload Artifact
|
- name: Upload Artifact
|
||||||
uses: actions/upload-artifact@v6
|
uses: actions/upload-artifact@v7
|
||||||
with:
|
with:
|
||||||
name: CSFML-windows-arm64
|
name: CSFML-windows-arm64
|
||||||
path: install/CSFML
|
path: install/CSFML
|
||||||
@@ -236,15 +232,17 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout SFML
|
- name: Checkout SFML
|
||||||
uses: actions/checkout@v6
|
uses: actions/checkout@v7
|
||||||
with:
|
with:
|
||||||
|
persist-credentials: false
|
||||||
repository: SFML/SFML
|
repository: SFML/SFML
|
||||||
ref: ${{ env.SFML_VERSION }}
|
ref: ${{ env.SFML_VERSION }}
|
||||||
path: SFML
|
path: SFML
|
||||||
|
|
||||||
- name: Checkout CSFML
|
- name: Checkout CSFML
|
||||||
uses: actions/checkout@v6
|
uses: actions/checkout@v7
|
||||||
with:
|
with:
|
||||||
|
persist-credentials: false
|
||||||
path: CSFML
|
path: CSFML
|
||||||
|
|
||||||
- name: Build SFML
|
- name: Build SFML
|
||||||
@@ -256,7 +254,7 @@ jobs:
|
|||||||
-DCMAKE_CXX_FLAGS="-stdlib=libc++" \
|
-DCMAKE_CXX_FLAGS="-stdlib=libc++" \
|
||||||
-DBUILD_SHARED_LIBS=ON \
|
-DBUILD_SHARED_LIBS=ON \
|
||||||
-DCMAKE_BUILD_TYPE=Release \
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
-DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/SFML-install \
|
"-DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/SFML-install" \
|
||||||
-DCMAKE_OSX_ARCHITECTURES=x86_64 \
|
-DCMAKE_OSX_ARCHITECTURES=x86_64 \
|
||||||
-DCMAKE_OSX_DEPLOYMENT_TARGET=10.15 \
|
-DCMAKE_OSX_DEPLOYMENT_TARGET=10.15 \
|
||||||
-DSFML_BUILD_FRAMEWORKS=OFF \
|
-DSFML_BUILD_FRAMEWORKS=OFF \
|
||||||
@@ -272,10 +270,10 @@ jobs:
|
|||||||
-DCMAKE_CXX_FLAGS="-stdlib=libc++" \
|
-DCMAKE_CXX_FLAGS="-stdlib=libc++" \
|
||||||
-DBUILD_SHARED_LIBS=ON \
|
-DBUILD_SHARED_LIBS=ON \
|
||||||
-DCMAKE_BUILD_TYPE=Release \
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
-DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/CSFML-install \
|
"-DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/CSFML-install" \
|
||||||
-DCMAKE_OSX_ARCHITECTURES=x86_64 \
|
-DCMAKE_OSX_ARCHITECTURES=x86_64 \
|
||||||
-DCMAKE_OSX_DEPLOYMENT_TARGET=10.15 \
|
-DCMAKE_OSX_DEPLOYMENT_TARGET=10.15 \
|
||||||
-DSFML_ROOT=${{ github.workspace }}/SFML-install \
|
"-DSFML_ROOT=$GITHUB_WORKSPACE/SFML-install" \
|
||||||
-DCMAKE_VERBOSE_MAKEFILE=ON
|
-DCMAKE_VERBOSE_MAKEFILE=ON
|
||||||
cmake --build CSFML-build --config Release --target install
|
cmake --build CSFML-build --config Release --target install
|
||||||
|
|
||||||
@@ -288,7 +286,7 @@ jobs:
|
|||||||
tar -zcvf CSFML-macOS-clang-64-bit.tar.gz CSFML-macOS-clang-64-bit
|
tar -zcvf CSFML-macOS-clang-64-bit.tar.gz CSFML-macOS-clang-64-bit
|
||||||
|
|
||||||
- name: Upload Artifact
|
- name: Upload Artifact
|
||||||
uses: actions/upload-artifact@v6
|
uses: actions/upload-artifact@v7
|
||||||
with:
|
with:
|
||||||
name: CSFML-macOS-clang-64-bit
|
name: CSFML-macOS-clang-64-bit
|
||||||
path: CSFML-macOS-clang-64-bit.tar.gz
|
path: CSFML-macOS-clang-64-bit.tar.gz
|
||||||
@@ -299,15 +297,17 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout SFML
|
- name: Checkout SFML
|
||||||
uses: actions/checkout@v6
|
uses: actions/checkout@v7
|
||||||
with:
|
with:
|
||||||
|
persist-credentials: false
|
||||||
repository: SFML/SFML
|
repository: SFML/SFML
|
||||||
ref: ${{ env.SFML_VERSION }}
|
ref: ${{ env.SFML_VERSION }}
|
||||||
path: SFML
|
path: SFML
|
||||||
|
|
||||||
- name: Checkout CSFML
|
- name: Checkout CSFML
|
||||||
uses: actions/checkout@v6
|
uses: actions/checkout@v7
|
||||||
with:
|
with:
|
||||||
|
persist-credentials: false
|
||||||
path: CSFML
|
path: CSFML
|
||||||
- name: Build SFML
|
- name: Build SFML
|
||||||
run: |
|
run: |
|
||||||
@@ -318,7 +318,7 @@ jobs:
|
|||||||
-DCMAKE_CXX_FLAGS="-stdlib=libc++" \
|
-DCMAKE_CXX_FLAGS="-stdlib=libc++" \
|
||||||
-DBUILD_SHARED_LIBS=ON \
|
-DBUILD_SHARED_LIBS=ON \
|
||||||
-DCMAKE_BUILD_TYPE=Release \
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
-DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/SFML-install \
|
"-DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/SFML-install" \
|
||||||
-DCMAKE_OSX_ARCHITECTURES=arm64 \
|
-DCMAKE_OSX_ARCHITECTURES=arm64 \
|
||||||
-DCMAKE_OSX_DEPLOYMENT_TARGET=11.0 \
|
-DCMAKE_OSX_DEPLOYMENT_TARGET=11.0 \
|
||||||
-DSFML_BUILD_FRAMEWORKS=OFF \
|
-DSFML_BUILD_FRAMEWORKS=OFF \
|
||||||
@@ -334,10 +334,10 @@ jobs:
|
|||||||
-DCMAKE_CXX_FLAGS="-stdlib=libc++" \
|
-DCMAKE_CXX_FLAGS="-stdlib=libc++" \
|
||||||
-DBUILD_SHARED_LIBS=ON \
|
-DBUILD_SHARED_LIBS=ON \
|
||||||
-DCMAKE_BUILD_TYPE=Release \
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
-DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/CSFML-install \
|
"-DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/CSFML-install" \
|
||||||
-DCMAKE_OSX_ARCHITECTURES=arm64 \
|
-DCMAKE_OSX_ARCHITECTURES=arm64 \
|
||||||
-DCMAKE_OSX_DEPLOYMENT_TARGET=11.0 \
|
-DCMAKE_OSX_DEPLOYMENT_TARGET=11.0 \
|
||||||
-DSFML_ROOT=${{ github.workspace }}/SFML-install \
|
"-DSFML_ROOT=$GITHUB_WORKSPACE/SFML-install" \
|
||||||
-DCMAKE_VERBOSE_MAKEFILE=ON
|
-DCMAKE_VERBOSE_MAKEFILE=ON
|
||||||
cmake --build CSFML-build --config Release --target install
|
cmake --build CSFML-build --config Release --target install
|
||||||
|
|
||||||
@@ -350,7 +350,7 @@ jobs:
|
|||||||
tar -zcvf CSFML-macOS-clang-arm64.tar.gz CSFML-macOS-clang-arm64
|
tar -zcvf CSFML-macOS-clang-arm64.tar.gz CSFML-macOS-clang-arm64
|
||||||
|
|
||||||
- name: Upload Artifact
|
- name: Upload Artifact
|
||||||
uses: actions/upload-artifact@v6
|
uses: actions/upload-artifact@v7
|
||||||
with:
|
with:
|
||||||
name: CSFML-macOS-clang-arm64
|
name: CSFML-macOS-clang-arm64
|
||||||
path: CSFML-macOS-clang-arm64.tar.gz
|
path: CSFML-macOS-clang-arm64.tar.gz
|
||||||
@@ -17,7 +17,7 @@ if (-not $RID) {
|
|||||||
exit
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
$Generator = 'Visual Studio 17 2022'
|
$Generator = 'Visual Studio 18 2026'
|
||||||
|
|
||||||
# See also: https://learn.microsoft.com/en-us/dotnet/core/rid-catalog#known-rids
|
# See also: https://learn.microsoft.com/en-us/dotnet/core/rid-catalog#known-rids
|
||||||
switch ($RID) {
|
switch ($RID) {
|
||||||
|
|||||||
Reference in new issue
Block a user