diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 543b44e..6a6514c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -22,10 +22,10 @@ jobs: fail-fast: false matrix: platform: - - { name: Windows VS2022 x86, os: windows-2025, flags: -AWin32 } - - { name: Windows VS2022 x64, os: windows-2025, flags: -Ax64 } - - { name: Windows ClangCL, os: windows-2025, flags: -T ClangCL } - - { name: Windows Clang, os: windows-2025, flags: -GNinja -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ } + - { name: Windows VS2026 x86, os: windows-2025-vs2026, flags: -AWin32 } + - { name: Windows VS2026 x64, os: windows-2025-vs2026, flags: -Ax64 } + - { 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 Clang, os: ubuntu-24.04, flags: -GNinja -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ } - { name: MacOS, os: macos-15, flags: -GNinja } @@ -40,7 +40,7 @@ jobs: - name: Get CMake and Ninja uses: lukka/get-cmake@latest 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 - name: Install Linux Dependencies @@ -48,7 +48,7 @@ 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 - name: Checkout SFML - uses: actions/checkout@v6 + uses: actions/checkout@v7 with: repository: SFML/SFML ref: ${{env.SFML_VERSION}} @@ -66,7 +66,7 @@ jobs: run: cmake --build SFML/build --config ${{matrix.type.name}} --target install - name: Checkout CSFML - uses: actions/checkout@v6 + uses: actions/checkout@v7 with: path: CSFML @@ -96,7 +96,7 @@ jobs: run: sudo apt-get install clang-format-17 - name: Checkout Code - uses: actions/checkout@v6 + uses: actions/checkout@v7 - name: Format Code run: cmake -DCLANG_FORMAT_EXECUTABLE=clang-format-17 -P cmake/Format.cmake @@ -112,7 +112,7 @@ jobs: - name: Get CMake and Ninja uses: lukka/get-cmake@latest 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 - name: Install Dependencies @@ -122,7 +122,7 @@ jobs: echo /opt/homebrew/opt/llvm/bin >> $GITHUB_PATH - name: Checkout SFML - uses: actions/checkout@v6 + uses: actions/checkout@v7 with: repository: SFML/SFML ref: ${{env.SFML_VERSION}} @@ -135,7 +135,7 @@ jobs: run: cmake --build SFML/build --target install - name: Checkout CSFML - uses: actions/checkout@v6 + uses: actions/checkout@v7 with: path: CSFML @@ -153,7 +153,7 @@ jobs: - name: Get CMake and Ninja uses: lukka/get-cmake@latest 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 - name: Install Doxygen @@ -162,7 +162,7 @@ jobs: brew install doxygen ninja || true - name: Checkout SFML - uses: actions/checkout@v6 + uses: actions/checkout@v7 with: repository: SFML/SFML ref: ${{env.SFML_VERSION}} @@ -175,7 +175,7 @@ jobs: run: cmake --build SFML/build --target install - name: Checkout CSFML - uses: actions/checkout@v6 + uses: actions/checkout@v7 with: path: CSFML diff --git a/.github/workflows/nuget.yml b/.github/workflows/nuget.yml index 2d8c83d..5143aa7 100644 --- a/.github/workflows/nuget.yml +++ b/.github/workflows/nuget.yml @@ -19,11 +19,11 @@ env: jobs: windows-x86-x64: name: Windows x86 x64 - runs-on: windows-2025 + runs-on: windows-2025-vs2026 steps: - name: Checkout CSFML - uses: actions/checkout@v6 + uses: actions/checkout@v7 with: path: CSFML @@ -40,18 +40,18 @@ jobs: ./build.win.ps1 "win-x64" - name: Upload Artifact - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: CSFML-win-x86-x64 path: CSFML/tools/nuget/CSFML/runtimes windows-arm64: name: Windows ARM64 - runs-on: windows-11-arm + runs-on: windows-11-vs2026-arm steps: - name: Checkout CSFML - uses: actions/checkout@v6 + uses: actions/checkout@v7 with: path: CSFML @@ -62,7 +62,7 @@ jobs: ./build.win.ps1 "win-arm64" - name: Upload Artifact - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: CSFML-win-arm64 path: CSFML/tools/nuget/CSFML/runtimes @@ -75,7 +75,7 @@ jobs: steps: - name: Checkout CSFML - uses: actions/checkout@v6 + uses: actions/checkout@v7 with: path: CSFML @@ -87,7 +87,7 @@ jobs: ./docker.linux-x64.sh - name: Upload Artifact - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: CSFML-linux-x64 path: CSFML/tools/nuget/CSFML/runtimes @@ -98,7 +98,7 @@ jobs: steps: - name: Checkout CSFML - uses: actions/checkout@v6 + uses: actions/checkout@v7 with: path: CSFML @@ -116,7 +116,7 @@ jobs: ./build.linux.sh linux-arm arm-linux-gnueabihf-g++ arm-linux-gnueabihf-gcc - name: Upload Artifact - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: CSFML-linux-arm path: CSFML/tools/nuget/CSFML/runtimes @@ -127,7 +127,7 @@ jobs: steps: - name: Checkout CSFML - uses: actions/checkout@v6 + uses: actions/checkout@v7 with: path: CSFML @@ -144,7 +144,7 @@ jobs: ./build.linux.sh linux-arm64 - name: Upload Artifact - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: CSFML-linux-arm64 path: CSFML/tools/nuget/CSFML/runtimes @@ -157,7 +157,7 @@ jobs: steps: - name: Checkout CSFML - uses: actions/checkout@v6 + uses: actions/checkout@v7 with: path: CSFML @@ -169,7 +169,7 @@ jobs: ./docker.linux-musl-x64.sh - name: Upload Artifact - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: CSFML-linux-musl-x64 path: CSFML/tools/nuget/CSFML/runtimes @@ -180,7 +180,7 @@ jobs: steps: - name: Checkout CSFML - uses: actions/checkout@v6 + uses: actions/checkout@v7 with: path: CSFML @@ -198,7 +198,7 @@ jobs: ./build.macos.sh "osx-arm64" - name: Upload Artifact - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: CSFML-macOS-x64-arm64 path: CSFML/tools/nuget/CSFML/runtimes @@ -216,11 +216,11 @@ jobs: - macos-x64-arm64 steps: - name: Checkout CSFML - uses: actions/checkout@v6 + uses: actions/checkout@v7 with: path: CSFML - name: Download Artifacts - uses: actions/download-artifact@v7 + uses: actions/download-artifact@v8 with: path: CSFML/tools/nuget/CSFML/runtimes merge-multiple: true @@ -238,7 +238,7 @@ jobs: cd CSFML/tools/nuget dotnet build --configuration Release --verbosity detailed - name: Upload NuGet Package - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: CSFML-NuGet-Package path: CSFML/tools/nuget/CSFML/bin/Release/*.nupkg diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 2ff2440..dbb081b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -19,12 +19,12 @@ env: jobs: windows-x86: name: Windows x86 - runs-on: windows-2025 + runs-on: windows-2025-vs2026 steps: - name: Cache MinGW x86 id: mingw-x86-cache - uses: actions/cache@v5 + uses: actions/cache@v6 with: path: ${{ github.workspace }}/mingw32 key: 15.2.0posix-13.0.0-ucrt-r1-x86 @@ -41,25 +41,25 @@ jobs: add_to_path: false - name: Checkout SFML - uses: actions/checkout@v6 + uses: actions/checkout@v7 with: repository: SFML/SFML ref: ${{ env.SFML_VERSION }} path: SFML - name: Checkout CSFML - uses: actions/checkout@v6 + uses: actions/checkout@v7 with: path: CSFML - name: Build SFML 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 - name: Build CSFML 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 - name: Add MinGW to PATH @@ -99,19 +99,19 @@ jobs: Move-Item -Path "CSFML-install\*" -Destination "install\CSFML" - name: Upload Artifact - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: CSFML-windows-32-bit path: install/CSFML windows-x64: name: Windows x64 - runs-on: windows-2025 + runs-on: windows-2025-vs2026 steps: - name: Cache MinGW x64 id: mingw-x64-cache - uses: actions/cache@v5 + uses: actions/cache@v6 with: path: ${{ github.workspace }}/mingw64 key: 15.2.0posix-13.0.0-ucrt-r1-x64 @@ -128,25 +128,25 @@ jobs: add_to_path: false - name: Checkout SFML - uses: actions/checkout@v6 + uses: actions/checkout@v7 with: repository: SFML/SFML ref: ${{ env.SFML_VERSION }} path: SFML - name: Checkout CSFML - uses: actions/checkout@v6 + uses: actions/checkout@v7 with: path: CSFML - name: Build SFML 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 - name: Build CSFML 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 - name: Add MinGW to PATH @@ -186,36 +186,36 @@ jobs: Move-Item -Path "CSFML-install\*" -Destination "install\CSFML" - name: Upload Artifact - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: CSFML-windows-64-bit path: install/CSFML windows-arm64: name: Windows ARM64 - runs-on: windows-2025 + runs-on: windows-2025-vs2026 steps: - name: Checkout SFML - uses: actions/checkout@v6 + uses: actions/checkout@v7 with: repository: SFML/SFML ref: ${{ env.SFML_VERSION }} path: SFML - name: Checkout CSFML - uses: actions/checkout@v6 + uses: actions/checkout@v7 with: path: CSFML - name: Build SFML 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 - name: Build CSFML 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 - name: Move Files @@ -225,7 +225,7 @@ jobs: Move-Item -Path "CSFML-install\*" -Destination "install\CSFML" - name: Upload Artifact - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: CSFML-windows-arm64 path: install/CSFML @@ -236,14 +236,14 @@ jobs: steps: - name: Checkout SFML - uses: actions/checkout@v6 + uses: actions/checkout@v7 with: repository: SFML/SFML ref: ${{ env.SFML_VERSION }} path: SFML - name: Checkout CSFML - uses: actions/checkout@v6 + uses: actions/checkout@v7 with: path: CSFML @@ -288,7 +288,7 @@ jobs: tar -zcvf CSFML-macOS-clang-64-bit.tar.gz CSFML-macOS-clang-64-bit - name: Upload Artifact - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: CSFML-macOS-clang-64-bit path: CSFML-macOS-clang-64-bit.tar.gz @@ -299,14 +299,14 @@ jobs: steps: - name: Checkout SFML - uses: actions/checkout@v6 + uses: actions/checkout@v7 with: repository: SFML/SFML ref: ${{ env.SFML_VERSION }} path: SFML - name: Checkout CSFML - uses: actions/checkout@v6 + uses: actions/checkout@v7 with: path: CSFML - name: Build SFML @@ -350,7 +350,7 @@ jobs: tar -zcvf CSFML-macOS-clang-arm64.tar.gz CSFML-macOS-clang-arm64 - name: Upload Artifact - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: CSFML-macOS-clang-arm64 path: CSFML-macOS-clang-arm64.tar.gz diff --git a/tools/nuget/build.win.ps1 b/tools/nuget/build.win.ps1 index 178f0b2..3385867 100644 --- a/tools/nuget/build.win.ps1 +++ b/tools/nuget/build.win.ps1 @@ -17,7 +17,7 @@ if (-not $RID) { 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 switch ($RID) {