Fix formatting of CI files

This commit is contained in:
Lukas Dürrenberger committed 2025-08-29 13:32:23 +02:00
1 parent 5f25bee831
commit 8ca866fbc7
2 files changed
+475 -475

No files matched your search

+212 -212
View File
@@ -1,252 +1,252 @@
name: NuGet Release name: NuGet Release
on: on:
push: push:
branches: branches:
- master - master
- 2.6.x - 2.6.x
workflow_dispatch: {} workflow_dispatch: {}
concurrency: concurrency:
group: nuget-${{github.ref}} group: nuget-${{github.ref}}
cancel-in-progress: true cancel-in-progress: true
env: env:
DOTNET_CLI_TELEMETRY_OPTOUT: 1 DOTNET_CLI_TELEMETRY_OPTOUT: 1
jobs: jobs:
windows: windows:
name: Windows VS2022 name: Windows VS2022
runs-on: windows-2022 runs-on: windows-2022
steps: steps:
- name: Checkout CSFML - name: Checkout CSFML
uses: actions/checkout@v4 uses: actions/checkout@v4
with: with:
path: CSFML path: CSFML
- name: Build x86 - name: Build x86
shell: pwsh shell: pwsh
run: | run: |
cd CSFML/tools/nuget cd CSFML/tools/nuget
./build.win.ps1 "win-x86" ./build.win.ps1 "win-x86"
- name: Build x64 - name: Build x64
shell: pwsh shell: pwsh
run: | run: |
cd CSFML/tools/nuget cd CSFML/tools/nuget
./build.win.ps1 "win-x64" ./build.win.ps1 "win-x64"
- name: Upload Artifact - name: Upload Artifact
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
with: with:
name: CSFML-win-x86-x64 name: CSFML-win-x86-x64
path: CSFML/tools/nuget/CSFML/runtimes path: CSFML/tools/nuget/CSFML/runtimes
linux-x64: linux-x64:
name: Linux x64 name: Linux x64
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
container: container:
image: ubuntu:22.04 image: ubuntu:22.04
steps: steps:
- name: Checkout CSFML - name: Checkout CSFML
uses: actions/checkout@v4 uses: actions/checkout@v4
with: with:
path: CSFML path: CSFML
- name: Build - name: Build
shell: bash shell: bash
run: | run: |
cd ./CSFML/tools/nuget cd ./CSFML/tools/nuget
chmod +x ./docker.linux-x64.sh chmod +x ./docker.linux-x64.sh
./docker.linux-x64.sh ./docker.linux-x64.sh
- name: Upload Artifact - name: Upload Artifact
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
with: with:
name: CSFML-linux-x64 name: CSFML-linux-x64
path: CSFML/tools/nuget/CSFML/runtimes path: CSFML/tools/nuget/CSFML/runtimes
linux-arm: linux-arm:
name: Linux ARM name: Linux ARM
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- name: Checkout CSFML - name: Checkout CSFML
uses: actions/checkout@v4 uses: actions/checkout@v4
with: with:
path: CSFML path: CSFML
- name: Build in an ARM container - name: Build in an ARM container
uses: uraimo/run-on-arch-action@v2.8.1 uses: uraimo/run-on-arch-action@v2.8.1
with: with:
arch: armv7 arch: armv7
distro: ubuntu22.04 distro: ubuntu22.04
githubToken: ${{ github.token }} githubToken: ${{ github.token }}
dockerRunArgs: | dockerRunArgs: |
--volume "${PWD}/CSFML:/CSFML" --volume "${PWD}/CSFML:/CSFML"
install: | install: |
apt-get update -y apt-get update -y
apt-get install -y git libfreetype6-dev xorg-dev libxrandr-dev libxcursor-dev libxi-dev libudev-dev libgl1-mesa-dev libflac-dev libogg-dev libvorbis-dev cmake g++ apt-get install -y git libfreetype6-dev xorg-dev libxrandr-dev libxcursor-dev libxi-dev libudev-dev libgl1-mesa-dev libflac-dev libogg-dev libvorbis-dev cmake g++
run: | run: |
cd /CSFML/tools/nuget cd /CSFML/tools/nuget
chmod +x ./build.linux.sh chmod +x ./build.linux.sh
./build.linux.sh linux-arm ./build.linux.sh linux-arm
- name: Upload Artifact - name: Upload Artifact
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
with: with:
name: CSFML-linux-arm name: CSFML-linux-arm
path: CSFML/tools/nuget/CSFML/runtimes path: CSFML/tools/nuget/CSFML/runtimes
linux-arm64: linux-arm64:
name: Linux ARM64 name: Linux ARM64
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- name: Checkout CSFML - name: Checkout CSFML
uses: actions/checkout@v4 uses: actions/checkout@v4
with: with:
path: CSFML path: CSFML
- name: Build in an ARM64 container - name: Build in an ARM64 container
uses: uraimo/run-on-arch-action@v2.8.1 uses: uraimo/run-on-arch-action@v2.8.1
with: with:
arch: aarch64 arch: aarch64
distro: ubuntu22.04 distro: ubuntu22.04
githubToken: ${{ github.token }} githubToken: ${{ github.token }}
dockerRunArgs: | dockerRunArgs: |
--volume "${PWD}/CSFML:/CSFML" --volume "${PWD}/CSFML:/CSFML"
install: | install: |
apt-get update -y apt-get update -y
apt-get install -y git libfreetype6-dev xorg-dev libxrandr-dev libxcursor-dev libudev-dev libgl1-mesa-dev libflac-dev libogg-dev libvorbis-dev cmake g++ apt-get install -y git libfreetype6-dev xorg-dev libxrandr-dev libxcursor-dev libudev-dev libgl1-mesa-dev libflac-dev libogg-dev libvorbis-dev cmake g++
run: | run: |
cd /CSFML/tools/nuget cd /CSFML/tools/nuget
chmod +x ./build.linux.sh chmod +x ./build.linux.sh
./build.linux.sh linux-arm64 ./build.linux.sh linux-arm64
- name: Upload Artifact - name: Upload Artifact
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
with: with:
name: CSFML-linux-arm64 name: CSFML-linux-arm64
path: CSFML/tools/nuget/CSFML/runtimes path: CSFML/tools/nuget/CSFML/runtimes
linux-musl-x64: linux-musl-x64:
name: Linux MUSL x64 name: Linux MUSL x64
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
container: container:
image: alpine:3.20.3 image: alpine:3.20.3
steps: steps:
- name: Checkout CSFML - name: Checkout CSFML
uses: actions/checkout@v4 uses: actions/checkout@v4
with: with:
path: CSFML path: CSFML
- name: Build - name: Build
shell: sh shell: sh
run: | run: |
cd ./CSFML/tools/nuget cd ./CSFML/tools/nuget
chmod +x ./docker.linux-musl-x64.sh chmod +x ./docker.linux-musl-x64.sh
./docker.linux-musl-x64.sh ./docker.linux-musl-x64.sh
- name: Upload Artifact - name: Upload Artifact
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
with: with:
name: CSFML-linux-musl-x64 name: CSFML-linux-musl-x64
path: CSFML/tools/nuget/CSFML/runtimes path: CSFML/tools/nuget/CSFML/runtimes
fedora-x64: fedora-x64:
name: Fedora x64 name: Fedora x64
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
container: container:
image: fedora:37 image: fedora:37
steps: steps:
- name: Checkout CSFML - name: Checkout CSFML
uses: actions/checkout@v4 uses: actions/checkout@v4
with: with:
path: CSFML path: CSFML
- name: Build - name: Build
shell: bash shell: bash
run: | run: |
cd ./CSFML/tools/nuget cd ./CSFML/tools/nuget
chmod +x ./docker.fedora-x64.sh chmod +x ./docker.fedora-x64.sh
./docker.fedora-x64.sh ./docker.fedora-x64.sh
- name: Upload Artifact - name: Upload Artifact
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
with: with:
name: CSFML-fedora-x64 name: CSFML-fedora-x64
path: CSFML/tools/nuget/CSFML/runtimes path: CSFML/tools/nuget/CSFML/runtimes
macos: macos:
name: macOS name: macOS
runs-on: macos-14 runs-on: macos-14
steps: steps:
- name: Checkout CSFML - name: Checkout CSFML
uses: actions/checkout@v4 uses: actions/checkout@v4
with: with:
path: CSFML path: CSFML
- name: Install necessary tooling - name: Install necessary tooling
run: brew install coreutils run: brew install coreutils
- name: Build x64 - name: Build x64
run: | run: |
cd CSFML/tools/nuget cd CSFML/tools/nuget
./build.macos.sh "osx-x64" ./build.macos.sh "osx-x64"
- name: Build ARM64 - name: Build ARM64
run: | run: |
cd CSFML/tools/nuget cd CSFML/tools/nuget
./build.macos.sh "osx-arm64" ./build.macos.sh "osx-arm64"
- name: Upload Artifact - name: Upload Artifact
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
with: with:
name: CSFML-macOS-x64-arm64 name: CSFML-macOS-x64-arm64
path: CSFML/tools/nuget/CSFML/runtimes path: CSFML/tools/nuget/CSFML/runtimes
package: package:
name: Package Builds name: Package Builds
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
needs: needs:
- windows - windows
- linux-x64 - linux-x64
- linux-arm - linux-arm
- linux-arm64 - linux-arm64
- linux-musl-x64 - linux-musl-x64
- fedora-x64 - fedora-x64
- macos - macos
steps: steps:
- name: Checkout CSFML - name: Checkout CSFML
uses: actions/checkout@v4 uses: actions/checkout@v4
with: with:
path: CSFML path: CSFML
- name: Download Artifacts - name: Download Artifacts
uses: actions/download-artifact@v4 uses: actions/download-artifact@v4
with: with:
path: CSFML/tools/nuget/CSFML/runtimes path: CSFML/tools/nuget/CSFML/runtimes
merge-multiple: true merge-multiple: true
- name: Setup .NET 8 SDK - name: Setup .NET 8 SDK
id: setup-dotnet id: setup-dotnet
uses: actions/setup-dotnet@v4 uses: actions/setup-dotnet@v4
with: with:
dotnet-version: 8.0.x dotnet-version: 8.0.x
- name: Enforce SDK Version - name: Enforce SDK Version
run: dotnet new globaljson --sdk-version ${{ steps.setup-dotnet.outputs.dotnet-version }} --force run: dotnet new globaljson --sdk-version ${{ steps.setup-dotnet.outputs.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
run: | run: |
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@v4 uses: actions/upload-artifact@v4
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
+263 -263
View File
@@ -1,314 +1,314 @@
name: Release Builds name: Release Builds
on: on:
push: push:
branches: branches:
- master - master
- 2.6.x - 2.6.x
tags: tags:
- "**" - "**"
workflow_dispatch: {} workflow_dispatch: {}
concurrency: concurrency:
group: release-${{github.ref}} group: release-${{github.ref}}
cancel-in-progress: true cancel-in-progress: true
jobs: jobs:
windows-x86: windows-x86:
name: Windows x86 name: Windows x86
runs-on: windows-2022 runs-on: windows-2022
steps: steps:
- name: Cache MinGW x86 - name: Cache MinGW x86
id: mingw-x86-cache id: mingw-x86-cache
uses: actions/cache@v4 uses: actions/cache@v4
with: with:
path: ${{ github.workspace }}/mingw32 path: ${{ github.workspace }}/mingw32
key: 14.2.0posix-19.1.1-12.0.0-ucrt-r2-x86 key: 14.2.0posix-19.1.1-12.0.0-ucrt-r2-x86
- name: Install MinGW x86 - name: Install MinGW x86
if: steps.mingw-x86-cache.outputs.cache-hit != 'true' 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:
tag: 14.2.0posix-19.1.1-12.0.0-ucrt-r2 tag: 14.2.0posix-19.1.1-12.0.0-ucrt-r2
with_clang: false with_clang: false
architecture: 32 architecture: 32
destination: ${{ github.workspace }} destination: ${{ github.workspace }}
add_to_path: false add_to_path: false
- name: Checkout SFML - name: Checkout SFML
uses: actions/checkout@v4 uses: actions/checkout@v4
with: with:
repository: SFML/SFML repository: SFML/SFML
ref: 3.0.0 ref: 3.0.0
path: SFML path: SFML
- name: Checkout CSFML - name: Checkout CSFML
uses: actions/checkout@v4 uses: actions/checkout@v4
with: with:
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 17 2022" -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 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 --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
run: | run: |
New-Item -ItemType "directory" -PATH "CSFML-install\lib\gcc" New-Item -ItemType "directory" -PATH "CSFML-install\lib\gcc"
New-Item -ItemType "directory" -PATH "CSFML-install\lib\msvc" New-Item -ItemType "directory" -PATH "CSFML-install\lib\msvc"
Move-Item -Path "CSFML-install\lib\*.lib" -Destination "CSFML-install\lib\msvc" Move-Item -Path "CSFML-install\lib\*.lib" -Destination "CSFML-install\lib\msvc"
Push-Location CSFML-install\lib\gcc Push-Location CSFML-install\lib\gcc
& gendef.exe "..\..\bin\csfml-graphics-3.dll" & gendef.exe "..\..\bin\csfml-graphics-3.dll"
& dlltool.exe -d "csfml-graphics-3.def" -D "..\..\bin\csfml-graphics-3.dll" -l "libcsfml-graphics.a" & dlltool.exe -d "csfml-graphics-3.def" -D "..\..\bin\csfml-graphics-3.dll" -l "libcsfml-graphics.a"
Remove-Item -Path "csfml-graphics-3.def" Remove-Item -Path "csfml-graphics-3.def"
& gendef.exe "..\..\bin\csfml-window-3.dll" & gendef.exe "..\..\bin\csfml-window-3.dll"
& dlltool.exe -d "csfml-window-3.def" -D "..\..\bin\csfml-window-3.dll" -l "libcsfml-window.a" & dlltool.exe -d "csfml-window-3.def" -D "..\..\bin\csfml-window-3.dll" -l "libcsfml-window.a"
Remove-Item -Path "csfml-window-3.def" Remove-Item -Path "csfml-window-3.def"
& gendef.exe "..\..\bin\csfml-audio-3.dll" & gendef.exe "..\..\bin\csfml-audio-3.dll"
& dlltool.exe -d "csfml-audio-3.def" -D "..\..\bin\csfml-audio-3.dll" -l "libcsfml-audio.a" & dlltool.exe -d "csfml-audio-3.def" -D "..\..\bin\csfml-audio-3.dll" -l "libcsfml-audio.a"
Remove-Item -Path "csfml-audio-3.def" Remove-Item -Path "csfml-audio-3.def"
& gendef.exe "..\..\bin\csfml-network-3.dll" & gendef.exe "..\..\bin\csfml-network-3.dll"
& dlltool.exe -d "csfml-network-3.def" -D "..\..\bin\csfml-network-3.dll" -l "libcsfml-network.a" & dlltool.exe -d "csfml-network-3.def" -D "..\..\bin\csfml-network-3.dll" -l "libcsfml-network.a"
Remove-Item -Path "csfml-network-3.def" Remove-Item -Path "csfml-network-3.def"
& gendef.exe "..\..\bin\csfml-system-3.dll" & gendef.exe "..\..\bin\csfml-system-3.dll"
& dlltool.exe -d "csfml-system-3.def" -D "..\..\bin\csfml-system-3.dll" -l "libcsfml-system.a" & dlltool.exe -d "csfml-system-3.def" -D "..\..\bin\csfml-system-3.dll" -l "libcsfml-system.a"
Remove-Item -Path "csfml-system-3.def" Remove-Item -Path "csfml-system-3.def"
Pop-Location Pop-Location
New-Item -ItemType "directory" -PATH "install\CSFML" New-Item -ItemType "directory" -PATH "install\CSFML"
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@v4 uses: actions/upload-artifact@v4
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-2022 runs-on: windows-2022
steps: steps:
- name: Cache MinGW x64 - name: Cache MinGW x64
id: mingw-x64-cache id: mingw-x64-cache
uses: actions/cache@v4 uses: actions/cache@v4
with: with:
path: ${{ github.workspace }}/mingw64 path: ${{ github.workspace }}/mingw64
key: 14.2.0posix-19.1.1-12.0.0-ucrt-r2-x64 key: 14.2.0posix-19.1.1-12.0.0-ucrt-r2-x64
- name: Install MinGW x64 - name: Install MinGW x64
if: steps.mingw-x64-cache.outputs.cache-hit != 'true' 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:
tag: 14.2.0posix-19.1.1-12.0.0-ucrt-r2 tag: 14.2.0posix-19.1.1-12.0.0-ucrt-r2
with_clang: false with_clang: false
architecture: 64 architecture: 64
destination: ${{ github.workspace }} destination: ${{ github.workspace }}
add_to_path: false add_to_path: false
- name: Checkout SFML - name: Checkout SFML
uses: actions/checkout@v4 uses: actions/checkout@v4
with: with:
repository: SFML/SFML repository: SFML/SFML
ref: 3.0.0 ref: 3.0.0
path: SFML path: SFML
- name: Checkout CSFML - name: Checkout CSFML
uses: actions/checkout@v4 uses: actions/checkout@v4
with: with:
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 17 2022" -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 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 --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
run: | run: |
New-Item -ItemType "directory" -PATH "CSFML-install\lib\gcc" New-Item -ItemType "directory" -PATH "CSFML-install\lib\gcc"
New-Item -ItemType "directory" -PATH "CSFML-install\lib\msvc" New-Item -ItemType "directory" -PATH "CSFML-install\lib\msvc"
Move-Item -Path "CSFML-install\lib\*.lib" -Destination "CSFML-install\lib\msvc" Move-Item -Path "CSFML-install\lib\*.lib" -Destination "CSFML-install\lib\msvc"
Push-Location CSFML-install\lib\gcc Push-Location CSFML-install\lib\gcc
& gendef.exe "..\..\bin\csfml-graphics-3.dll" & gendef.exe "..\..\bin\csfml-graphics-3.dll"
& dlltool.exe -d "csfml-graphics-3.def" -D "..\..\bin\csfml-graphics-3.dll" -l "libcsfml-graphics.a" & dlltool.exe -d "csfml-graphics-3.def" -D "..\..\bin\csfml-graphics-3.dll" -l "libcsfml-graphics.a"
Remove-Item -Path "csfml-graphics-3.def" Remove-Item -Path "csfml-graphics-3.def"
& gendef.exe "..\..\bin\csfml-window-3.dll" & gendef.exe "..\..\bin\csfml-window-3.dll"
& dlltool.exe -d "csfml-window-3.def" -D "..\..\bin\csfml-window-3.dll" -l "libcsfml-window.a" & dlltool.exe -d "csfml-window-3.def" -D "..\..\bin\csfml-window-3.dll" -l "libcsfml-window.a"
Remove-Item -Path "csfml-window-3.def" Remove-Item -Path "csfml-window-3.def"
& gendef.exe "..\..\bin\csfml-audio-3.dll" & gendef.exe "..\..\bin\csfml-audio-3.dll"
& dlltool.exe -d "csfml-audio-3.def" -D "..\..\bin\csfml-audio-3.dll" -l "libcsfml-audio.a" & dlltool.exe -d "csfml-audio-3.def" -D "..\..\bin\csfml-audio-3.dll" -l "libcsfml-audio.a"
Remove-Item -Path "csfml-audio-3.def" Remove-Item -Path "csfml-audio-3.def"
& gendef.exe "..\..\bin\csfml-network-3.dll" & gendef.exe "..\..\bin\csfml-network-3.dll"
& dlltool.exe -d "csfml-network-3.def" -D "..\..\bin\csfml-network-3.dll" -l "libcsfml-network.a" & dlltool.exe -d "csfml-network-3.def" -D "..\..\bin\csfml-network-3.dll" -l "libcsfml-network.a"
Remove-Item -Path "csfml-network-3.def" Remove-Item -Path "csfml-network-3.def"
& gendef.exe "..\..\bin\csfml-system-3.dll" & gendef.exe "..\..\bin\csfml-system-3.dll"
& dlltool.exe -d "csfml-system-3.def" -D "..\..\bin\csfml-system-3.dll" -l "libcsfml-system.a" & dlltool.exe -d "csfml-system-3.def" -D "..\..\bin\csfml-system-3.dll" -l "libcsfml-system.a"
Remove-Item -Path "csfml-system-3.def" Remove-Item -Path "csfml-system-3.def"
Pop-Location Pop-Location
New-Item -ItemType "directory" -PATH "install\CSFML" New-Item -ItemType "directory" -PATH "install\CSFML"
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@v4 uses: actions/upload-artifact@v4
with: with:
name: CSFML-windows-64-bit name: CSFML-windows-64-bit
path: install/CSFML path: install/CSFML
macos-x64: macos-x64:
name: macOS x64 name: macOS x64
runs-on: macos-13 runs-on: macos-13
steps: steps:
- name: Checkout SFML - name: Checkout SFML
uses: actions/checkout@v4 uses: actions/checkout@v4
with: with:
repository: SFML/SFML repository: SFML/SFML
ref: 3.0.0 ref: 3.0.0
path: SFML path: SFML
- name: Checkout CSFML - name: Checkout CSFML
uses: actions/checkout@v4 uses: actions/checkout@v4
with: with:
path: CSFML path: CSFML
- name: Build SFML - name: Build SFML
run: | run: |
cmake -S SFML -B SFML-build -G "Unix Makefiles" \ cmake -S SFML -B SFML-build -G "Unix Makefiles" \
-DCMAKE_C_COMPILER="/usr/bin/clang" \ -DCMAKE_C_COMPILER="/usr/bin/clang" \
-DCMAKE_CXX_COMPILER="/usr/bin/clang++" \ -DCMAKE_CXX_COMPILER="/usr/bin/clang++" \
-DCMAKE_C_FLAGS="-stdlib=libc++" \ -DCMAKE_C_FLAGS="-stdlib=libc++" \
-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 \
-DCMAKE_VERBOSE_MAKEFILE=ON -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 -G "Unix Makefiles" \ cmake -S CSFML -B CSFML-build -G "Unix Makefiles" \
-DCMAKE_C_COMPILER="/usr/bin/clang" \ -DCMAKE_C_COMPILER="/usr/bin/clang" \
-DCMAKE_CXX_COMPILER="/usr/bin/clang++" \ -DCMAKE_CXX_COMPILER="/usr/bin/clang++" \
-DCMAKE_C_FLAGS="-stdlib=libc++" \ -DCMAKE_C_FLAGS="-stdlib=libc++" \
-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
- name: Create Archive - name: Create Archive
run: | run: |
mkdir CSFML-macOS-clang-64-bit mkdir CSFML-macOS-clang-64-bit
cp -R CSFML-install/include CSFML-macOS-clang-64-bit cp -R CSFML-install/include CSFML-macOS-clang-64-bit
cp -R CSFML-install/lib CSFML-macOS-clang-64-bit cp -R CSFML-install/lib CSFML-macOS-clang-64-bit
cp CSFML-install/share/CSFML/* CSFML-macOS-clang-64-bit cp CSFML-install/share/CSFML/* CSFML-macOS-clang-64-bit
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@v4 uses: actions/upload-artifact@v4
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
macos-arm64: macos-arm64:
name: macOS ARM64 name: macOS ARM64
runs-on: macos-14 runs-on: macos-14
steps: steps:
- name: Checkout SFML - name: Checkout SFML
uses: actions/checkout@v4 uses: actions/checkout@v4
with: with:
repository: SFML/SFML repository: SFML/SFML
ref: 3.0.0 ref: 3.0.0
path: SFML path: SFML
- name: Checkout CSFML - name: Checkout CSFML
uses: actions/checkout@v4 uses: actions/checkout@v4
with: with:
path: CSFML path: CSFML
- name: Build SFML - name: Build SFML
run: | run: |
cmake -S SFML -B SFML-build -G "Unix Makefiles" \ cmake -S SFML -B SFML-build -G "Unix Makefiles" \
-DCMAKE_C_COMPILER="/usr/bin/clang" \ -DCMAKE_C_COMPILER="/usr/bin/clang" \
-DCMAKE_CXX_COMPILER="/usr/bin/clang++" \ -DCMAKE_CXX_COMPILER="/usr/bin/clang++" \
-DCMAKE_C_FLAGS="-stdlib=libc++" \ -DCMAKE_C_FLAGS="-stdlib=libc++" \
-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 \
-DCMAKE_VERBOSE_MAKEFILE=ON -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 -G "Unix Makefiles" \ cmake -S CSFML -B CSFML-build -G "Unix Makefiles" \
-DCMAKE_C_COMPILER="/usr/bin/clang" \ -DCMAKE_C_COMPILER="/usr/bin/clang" \
-DCMAKE_CXX_COMPILER="/usr/bin/clang++" \ -DCMAKE_CXX_COMPILER="/usr/bin/clang++" \
-DCMAKE_C_FLAGS="-stdlib=libc++" \ -DCMAKE_C_FLAGS="-stdlib=libc++" \
-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
- name: Create Archive - name: Create Archive
run: | run: |
mkdir CSFML-macOS-clang-arm64 mkdir CSFML-macOS-clang-arm64
cp -R CSFML-install/include CSFML-macOS-clang-arm64 cp -R CSFML-install/include CSFML-macOS-clang-arm64
cp -R CSFML-install/lib CSFML-macOS-clang-arm64 cp -R CSFML-install/lib CSFML-macOS-clang-arm64
cp CSFML-install/share/CSFML/* CSFML-macOS-clang-arm64 cp CSFML-install/share/CSFML/* CSFML-macOS-clang-arm64
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@v4 uses: actions/upload-artifact@v4
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