mirror of
https://github.com/diasurgical/DevilutionX.git
synced 2026-11-07 09:26:09 -10:00
- `fmt::format` with literal format strings -> `std::format`. - `fmt::format(fmt::runtime(...))` -> `FormatRuntime` in the new `utils/format.hpp`, a std::vformat wrapper that is also safe under the P2905 lvalue requirement of `std::make_format_args`. - `fmt::dynamic_format_arg_store` (Lua logging) -> a small hand-rolled per-field formatter over `std::variant`, returning `std::expected`. - `fmt::format_int` -> `std::to_chars`. - `fmt::join` -> manual joins at the two call sites. - SDL_audiolib: new patch that rewrites aulib_log.h to use std::format and drops the fmt dependency from its CMakeLists. - The `-static-libstdc++` guard now keys off `DEVILUTIONX_STATIC_SDL_AUDIOLIB` instead of `DEVILUTIONX_STATIC_LIBFMT`. - libfmt removed from CMake, vcpkg, Brewfile, CI workflows, Dockerfiles, packaging scripts, UWP project, and docs. - macOS bumped to 13.3+, iOS to 16.3+ (required for `<format>`) - Amiga m68k: provide `__cmpdf2`, which is missing from the hard-float libgcc multilib but referenced via libstdc++'s long double paths. Co-Authored-By: Claude Fable 5 <[email protected]>
75 lines
2.0 KiB
YAML
75 lines
2.0 KiB
YAML
name: Windows MSVC x64
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
paths-ignore:
|
|
- '*.md'
|
|
- 'docs/**'
|
|
pull_request:
|
|
types: [ opened, synchronize ]
|
|
paths-ignore:
|
|
- '*.md'
|
|
- 'docs/**'
|
|
|
|
permissions:
|
|
contents: write
|
|
|
|
env:
|
|
VCPKG_FEATURE_FLAGS: dependencygraph
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: windows-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v7
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: ccache
|
|
uses: hendrikmuhs/[email protected]
|
|
|
|
- name: Install latest CMake
|
|
uses: lukka/get-cmake@latest
|
|
|
|
- name: Restore or setup vcpkg
|
|
uses: lukka/[email protected]
|
|
with:
|
|
vcpkgGitCommitId: 'a62ce77d56ee07513b4b67de1ec2daeaebfae51a'
|
|
|
|
- name: Fetch test data
|
|
run: |
|
|
mkdir build-ninja-vcpkg-relwithdebinfo
|
|
Invoke-WebRequest -Uri "https://github.com/diasurgical/devilutionx-assets/releases/download/v2/spawn.mpq" -OutFile "build-ninja-vcpkg-relwithdebinfo/spawn.mpq" -Resume
|
|
|
|
- name: Get CMakePresets.json
|
|
run: cp Packaging/windows/CMakePresets.json .
|
|
|
|
- name: Run CMake consuming CMakePresets.json and vcpkg.json by mean of vcpkg.
|
|
uses: lukka/run-cmake@v10
|
|
with:
|
|
configurePreset: 'ninja-vcpkg-relwithdebinfo'
|
|
buildPreset: 'ninja-vcpkg-relwithdebinfo'
|
|
testPreset: 'ninja-vcpkg-relwithdebinfo'
|
|
|
|
- name: Upload-Package
|
|
if: ${{ !env.ACT }}
|
|
uses: actions/upload-artifact@v7
|
|
with:
|
|
name: devilutionx.exe
|
|
path: |
|
|
build-ninja-vcpkg-relwithdebinfo/devilutionx.exe
|
|
build-ninja-vcpkg-relwithdebinfo/bz2.dll
|
|
build-ninja-vcpkg-relwithdebinfo/libpng16.dll
|
|
build-ninja-vcpkg-relwithdebinfo/libsodium.dll
|
|
build-ninja-vcpkg-relwithdebinfo/SDL2.dll
|
|
build-ninja-vcpkg-relwithdebinfo/SDL2_image.dll
|
|
build-ninja-vcpkg-relwithdebinfo/zlib1.dll
|