@@ -5,7 +5,7 @@ on: [ push, pull_request ]
55
66env :
77 CMAKE_VERSION : 3.17.3
8- NINJA_VERSION : 1.9 .0
8+ NINJA_VERSION : 1.11 .0
99
1010jobs :
1111 build :
@@ -109,6 +109,22 @@ jobs:
109109 cxx_standard : 20,
110110 }
111111
112+ # Clang-14
113+ - {
114+ name : " Linux Clang 14 Debug (C++20)" , artifact: "Linux.tar.xz",
115+ os : ubuntu-latest,
116+ build_type : Debug,
117+ cc : " clang-14" , cxx: "clang++-14",
118+ cxx_standard : 20,
119+ }
120+ - {
121+ name : " Linux Clang 14 Release (C++20)" , artifact: "Linux.tar.xz",
122+ os : ubuntu-latest,
123+ build_type : RelWithDebInfo,
124+ cc : " clang-14" , cxx: "clang++-14",
125+ cxx_standard : 20,
126+ }
127+
112128 # AppleClang
113129 - {
114130 name : " macOS Clang Debug (C++17)" , artifact: "macOS.tar.xz",
@@ -173,8 +189,27 @@ jobs:
173189 cxx_standard : 20,
174190 }
175191
192+ # MSVC 2022
193+ - {
194+ name : " Windows MSVC 2022 Debug (C++20)" , artifact: "Windows-MSVC.tar.xz",
195+ os : windows-latest,
196+ build_type : Debug,
197+ cc : " cl" , cxx: "cl",
198+ environment_script : " C:/Program Files (x86)/Microsoft Visual Studio/2022/Enterprise/VC/Auxiliary/Build/vcvars64.bat" ,
199+ cxx_standard : 20,
200+ }
201+ - {
202+ name : " Windows MSVC 2022 Release (C++20)" , artifact: "Windows-MSVC.tar.xz",
203+ os : windows-latest,
204+ build_type : RelWithDebInfo,
205+ cc : " cl" , cxx: "cl",
206+ environment_script : " C:/Program Files (x86)/Microsoft Visual Studio/2022/Enterprise/VC/Auxiliary/Build/vcvars64.bat" ,
207+ cxx_standard : 20,
208+ }
209+
176210 steps :
177- - uses : actions/checkout@v1
211+ - uses : actions/checkout@master
212+ - uses : seanmiddleditch/gha-setup-vsdevenv@master
178213
179214 - name : Download Ninja and CMake
180215 id : cmake_and_ninja
@@ -243,6 +278,15 @@ jobs:
243278 sudo apt-get update
244279 sudo apt-get -y install g++-11
245280
281+ - name : Install GCC 12
282+ id : install_gcc_12
283+ if : startsWith(matrix.config.os, 'ubuntu') && ( matrix.config.cxx == 'g++-12' )
284+ shell : bash
285+ working-directory : ${{ env.HOME }}
286+ run : |
287+ sudo apt-get update
288+ sudo apt-get -y install g++-12
289+
246290 - name : Install Clang 8
247291 id : install_clang_8
248292 if : startsWith(matrix.config.os, 'ubuntu') && ( matrix.config.cxx == 'clang++-8' )
@@ -282,6 +326,16 @@ jobs:
282326 chmod +x llvm.sh
283327 sudo ./llvm.sh 12
284328
329+ - name : Install Clang 14
330+ id : install_clang_14
331+ if : startsWith(matrix.config.os, 'ubuntu') && ( matrix.config.cxx == 'clang++-14' )
332+ shell : bash
333+ working-directory : ${{ env.HOME }}
334+ run : |
335+ wget https://apt.llvm.org/llvm.sh
336+ chmod +x llvm.sh
337+ sudo ./llvm.sh 14
338+
285339 - name : Install vcpkg (Linux)
286340 id : vcpkg_linux
287341 if : startsWith(matrix.config.os, 'ubuntu')
@@ -354,12 +408,18 @@ jobs:
354408 set(BUILD_V2 OFF)
355409 if ("${{ matrix.config.name }}" STREQUAL "Windows MSVC 2019 Debug (C++20)" OR
356410 "${{ matrix.config.name }}" STREQUAL "Windows MSVC 2019 Release (C++20)" OR
411+ "${{ matrix.config.name }}" STREQUAL "Windows MSVC 2022 Debug (C++20)" OR
412+ "${{ matrix.config.name }}" STREQUAL "Windows MSVC 2022 Release (C++20)" OR
357413 "${{ matrix.config.name }}" STREQUAL "Linux GCC 11 Debug (C++20)" OR
358414 "${{ matrix.config.name }}" STREQUAL "Linux GCC 11 Release (C++20)" OR
415+ "${{ matrix.config.name }}" STREQUAL "Linux GCC 12 Debug (C++20)" OR
416+ "${{ matrix.config.name }}" STREQUAL "Linux GCC 12 Release (C++20)" OR
359417 "${{ matrix.config.name }}" STREQUAL "Linux Clang 11 Debug (C++20)" OR
360418 "${{ matrix.config.name }}" STREQUAL "Linux Clang 11 Release (C++20)" OR
361419 "${{ matrix.config.name }}" STREQUAL "Linux Clang 12 Debug (C++20)" OR
362- "${{ matrix.config.name }}" STREQUAL "Linux Clang 12 Release (C++20)"
420+ "${{ matrix.config.name }}" STREQUAL "Linux Clang 12 Release (C++20)" OR
421+ "${{ matrix.config.name }}" STREQUAL "Linux Clang 14 Debug (C++20)" OR
422+ "${{ matrix.config.name }}" STREQUAL "Linux Clang 14 Release (C++20)"
363423 )
364424 set(BUILD_V2 ON)
365425 endif()
0 commit comments