@@ -14,24 +14,34 @@ jobs:
1414 strategy :
1515 fail-fast : false
1616 matrix :
17- # Customize the Meson build type here ("plain", "debug", "debugoptimized", "release", "minsize", "custom".)
1817 config :
1918 - name : Windows MSVC Release
2019 os : windows
2120 os-version : 2022
22- msvc : true
21+ environment : msvc
2322 buildtype : release
2423 library_type : static
2524 shell : pwsh
2625
2726 - name : Windows MingGW Release
2827 os : windows
2928 os-version : 2022
30- msvc : false
29+ environment : mingw
30+ architecture : x86_64
3131 buildtype : release
3232 library_type : static
3333 shell : " msys2 {0}"
3434
35+ - name : Windows UCRT Release
36+ os : windows
37+ os-version : 2022
38+ environment : ucrt
39+ architecture : ucrt-x86_64
40+ buildtype : release
41+ library_type : static
42+ shell : " msys2 {0}"
43+
44+
3545 - name : Linux Release
3646 os : ubuntu
3747 os-version : 24.04
@@ -84,21 +94,32 @@ jobs:
8494 fetch-depth : " 0"
8595
8696 - name : Setup MSVC (Windows)
87- if : matrix.config.os == 'windows' && matrix.config.msvc == true
97+ if : matrix.config.os == 'windows' && matrix.config.environment == 'msvc'
8898 uses : TheMrMilchmann/setup-msvc-dev@v3
8999 with :
90100 arch : x64
91101 toolset : 14.39
92102
93103
94- - name : Setup MinGW (Windows)
95- if : matrix.config.os == 'windows' && matrix.config.msvc == false
104+ - name : Setup MYSYS2 (Windows)
105+ if : matrix.config.os == 'windows' && ( matrix.config.environment == 'mingw' || matrix.config.environment == 'ucrt' )
96106 uses : msys2/setup-msys2@v2
97107 with :
98- msystem : MINGW64
108+ msystem : ${{matrix.config.environment == 'mingw' && ' MINGW64' || 'UCRT64'}}
99109 update : true
100- install : mingw-w64-x86_64-gcc mingw-w64-x86_64-ninja mingw-w64-x86_64-python mingw-w64-x86_64-python-pip mingw-w64-x86_64-SDL2 mingw-w64-x86_64-SDL2_ttf mingw-w64-x86_64-SDL2_mixer mingw-w64-x86_64-SDL2_image mingw-w64-x86_64-pkg-config mingw-w64-x86_64-ca-certificates mingw-w64-x86_64-cmake git
101-
110+ install : >-
111+ mingw-w64-${{matrix.config.architecture}}-gcc
112+ mingw-w64-${{matrix.config.architecture}}-ninja
113+ mingw-w64-${{matrix.config.architecture}}-python
114+ mingw-w64-${{matrix.config.architecture}}-python-pip
115+ mingw-w64-${{matrix.config.architecture}}-SDL2
116+ mingw-w64-${{matrix.config.architecture}}-SDL2_ttf
117+ mingw-w64-${{matrix.config.architecture}}-SDL2_mixer
118+ mingw-w64-${{matrix.config.architecture}}-SDL2_image
119+ mingw-w64-${{matrix.config.architecture}}-pkg-config
120+ mingw-w64-${{matrix.config.architecture}}-ca-certificates
121+ mingw-w64-${{matrix.config.architecture}}-cmake
122+ git
102123
103124 - name : Setup Clang (Linux)
104125 if : matrix.config.os == 'ubuntu' && matrix.config.use-clang == true
@@ -116,7 +137,7 @@ jobs:
116137 if : matrix.config.os == 'ubuntu' && matrix.config.use-clang == false
117138 uses : egor-tensin/setup-gcc@v1
118139 with :
119- version : 13
140+ version : 14
120141 platform : x64
121142
122143 - name : Setup Clang (MacOS)
0 commit comments