Update CI workflow for newer GitHub runners and toolchains, retaining MSVC v142 compatibility

This commit is contained in:
Steffen Schümann 2026-07-10 19:32:57 +02:00
parent 79ce44f0a6
commit 30ea991a26
2 changed files with 16 additions and 7 deletions

View File

@ -56,11 +56,12 @@ jobs:
cc: gcc-11
cxx: g++-11
- name: "Windows MSVC 2019"
os: windows-2019
- name: "Windows MSVC v142 (VS 2019 toolset)"
os: windows-2022
build_type: Release
packages: ninja
generator: "Visual Studio 16 2019"
generator: "Visual Studio 17 2022"
toolset: v142
compatibility: "cxx_std_11;cxx_std_17;cxx_std_20"
cc: cl
cxx: cl
@ -125,14 +126,18 @@ jobs:
run: |
export CC=${{ matrix.config.cc }}
export CXX=${{ matrix.config.cxx }}
toolset_args=()
if [[ -n "${{ matrix.config.toolset }}" ]]; then
toolset_args=(-T "${{ matrix.config.toolset }}")
fi
ninja --version
cmake --version
mkdir build
mkdir install
if [[ "${{ matrix.config.build_type }}" == "Debug" ]]; then
cmake -G "${{ matrix.config.generator }}" -S . -B build -DCMAKE_BUILD_TYPE=Debug -DGHC_COVERAGE=ON -DGHC_FILESYSTEM_TEST_COMPILE_FEATURES="${{ matrix.config.compatibility }}" -DCMAKE_INSTALL_PREFIX:PATH=install
cmake -G "${{ matrix.config.generator }}" "${toolset_args[@]}" -S . -B build -DCMAKE_BUILD_TYPE=Debug -DGHC_COVERAGE=ON -DGHC_FILESYSTEM_TEST_COMPILE_FEATURES="${{ matrix.config.compatibility }}" -DCMAKE_INSTALL_PREFIX:PATH=install
else
cmake -G "${{ matrix.config.generator }}" -S . -B build -DCMAKE_BUILD_TYPE=${{ matrix.config.build_type }} -DGHC_FILESYSTEM_TEST_COMPILE_FEATURES="${{ matrix.config.compatibility }}" -DCMAKE_INSTALL_PREFIX:PATH=install
cmake -G "${{ matrix.config.generator }}" "${toolset_args[@]}" -S . -B build -DCMAKE_BUILD_TYPE=${{ matrix.config.build_type }} -DGHC_FILESYSTEM_TEST_COMPILE_FEATURES="${{ matrix.config.compatibility }}" -DCMAKE_INSTALL_PREFIX:PATH=install
fi
- name: Build project

View File

@ -651,6 +651,11 @@ to the expected behavior.
* Fix for [#166](https://github.com/gulrak/filesystem/issues/166),
`extension()` did return non empty result for the directory name
`".."`
* Fix for [#203](https://github.com/gulrak/filesystem/issues/203), directory
iteration and `proximate()` are available in builds without exception
support, with iteration errors terminating the process.
* Updated CI for current GitHub runners and compiler toolchains, retaining
MSVC v142 coverage.
### [v1.5.14](https://github.com/gulrak/filesystem/releases/tag/v1.5.14)
@ -1176,4 +1181,3 @@ to the expected behavior.
This was the first public release version. It implements the full range of
C++17 `std::filesystem`, as far as possible without other C++17 dependencies.