Skip to content

Commit a03063a

Browse files
committed
Update MinGW validation pipeline
1 parent 52b100c commit a03063a

File tree

2 files changed

+153
-6
lines changed

2 files changed

+153
-6
lines changed

.azuredevops/pipelines/DirectXMath-GitHub-MinGW.yml

Lines changed: 147 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,11 @@ resources:
4141
- repository: self
4242
type: git
4343
ref: refs/heads/main
44+
- repository: vcpkgRepo
45+
name: Microsoft/vcpkg
46+
type: github
47+
endpoint: microsoft
48+
ref: refs/tags/$(VCPKG_TAG)
4449
- repository: testRepo
4550
name: walbourn/directxmathtest
4651
type: github
@@ -54,6 +59,9 @@ pool:
5459

5560
variables:
5661
Codeql.Enabled: false
62+
VCPKG_ROOT: $(Build.SourcesDirectory)/vcpkg
63+
VCPKG_CMAKE_DIR: $(Build.SourcesDirectory)/vcpkg/scripts/buildsystems/vcpkg.cmake
64+
VCPKG_MANIFEST_DIR: $(Build.SourcesDirectory)/build
5765
URL_MINGW32: https://github.com/brechtsanders/winlibs_mingw/releases/download/12.2.0-14.0.6-10.0.0-ucrt-r2/winlibs-i686-posix-dwarf-gcc-12.2.0-llvm-14.0.6-mingw-w64ucrt-10.0.0-r2.zip
5866
HASH_MINGW32: 'fcd1e11b896190da01c83d5b5fb0d37b7c61585e53446c2dab0009debc3915e757213882c35e35396329338de6f0222ba012e23a5af86932db45186a225d1272'
5967

@@ -66,12 +74,27 @@ jobs:
6674
fetchTags: false
6775
fetchDepth: 1
6876
path: 's'
77+
- checkout: vcpkgRepo
78+
displayName: Fetch VCPKG
79+
clean: true
80+
fetchTags: false
81+
fetchDepth: 1
82+
path: 's/vcpkg'
6983
- checkout: testRepo
7084
displayName: Fetch Tests
7185
clean: true
7286
fetchTags: false
7387
fetchDepth: 1
7488
path: 's/Tests'
89+
- task: CmdLine@2
90+
displayName: VCPKG Bootstrap
91+
inputs:
92+
script: |
93+
call bootstrap-vcpkg.bat
94+
echo ##vso[task.setvariable variable=VCPKG_DEFAULT_TRIPLET;]x86-mingw-static
95+
echo ##vso[task.setvariable variable=VCPKG_DEFAULT_HOST_TRIPLET;]x86-mingw-static
96+
97+
workingDirectory: $(Build.SourcesDirectory)\vcpkg
7598
- task: PowerShell@2
7699
displayName: Install MinGW32
77100
inputs:
@@ -102,7 +125,9 @@ jobs:
102125
displayName: CMake (MinGW32) Dbg
103126
inputs:
104127
cwd: Tests
105-
cmakeArgs: -B out -DCMAKE_BUILD_TYPE="Debug" -DDXMATH_ARCHITECTURE=x86 -DCMAKE_CXX_COMPILER="g++.exe" -G "MinGW Makefiles"
128+
cmakeArgs: >
129+
-B out -DCMAKE_BUILD_TYPE="Debug" -DDXMATH_ARCHITECTURE=x86
130+
-DCMAKE_CXX_COMPILER="g++.exe" -G "MinGW Makefiles"
106131
- task: CMake@1
107132
displayName: CMake (MinGW32) Build Dbg
108133
inputs:
@@ -112,7 +137,9 @@ jobs:
112137
displayName: CMake (MinGW32) Rel
113138
inputs:
114139
cwd: Tests
115-
cmakeArgs: -B out2 -DCMAKE_BUILD_TYPE="RelWithDebInfo" -DDXMATH_ARCHITECTURE=x86 -DCMAKE_CXX_COMPILER="g++.exe" -G "MinGW Makefiles"
140+
cmakeArgs: >
141+
-B out2 -DCMAKE_BUILD_TYPE="RelWithDebInfo" -DDXMATH_ARCHITECTURE=x86
142+
-DCMAKE_CXX_COMPILER="g++.exe" -G "MinGW Makefiles"
116143
- task: CMake@1
117144
displayName: CMake (MinGW32) Build Rel
118145
inputs:
@@ -122,12 +149,59 @@ jobs:
122149
displayName: CMake (MinGW32) Dbg NI
123150
inputs:
124151
cwd: Tests
125-
cmakeArgs: -B out3 -DCMAKE_BUILD_TYPE="Debug" -DBUILD_NO_INTRINSICS=ON -DDXMATH_ARCHITECTURE=x86 -DCMAKE_CXX_COMPILER="g++.exe" -G "MinGW Makefiles"
152+
cmakeArgs: >
153+
-B out3 -DCMAKE_BUILD_TYPE="Debug" -DDXMATH_ARCHITECTURE=x86
154+
-DCMAKE_CXX_COMPILER="g++.exe" -G "MinGW Makefiles"
155+
-DBUILD_NO_INTRINSICS=ON
126156
- task: CMake@1
127157
displayName: CMake (MinGW32) Build Dbg NI
128158
inputs:
129159
cwd: Tests
130160
cmakeArgs: --build out3
161+
- task: CMake@1
162+
displayName: CMake (MinGW32; XDSP) Dbg
163+
inputs:
164+
cwd: Tests
165+
cmakeArgs: >
166+
-B out4 -DCMAKE_BUILD_TYPE="Debug" -DDXMATH_ARCHITECTURE=x86
167+
-DCMAKE_CXX_COMPILER="g++.exe" -G "MinGW Makefiles"
168+
-DBUILD_XDSP=ON
169+
- task: CMake@1
170+
displayName: CMake (MinGW32; XDSP) Build Dbg
171+
inputs:
172+
cwd: Tests
173+
cmakeArgs: --build out4
174+
- task: CMake@1
175+
displayName: CMake (MinGW32; SH DX11) Dbg
176+
inputs:
177+
cwd: Tests
178+
cmakeArgs: >
179+
-B out5 -DCMAKE_BUILD_TYPE="Debug" -DDXMATH_ARCHITECTURE=x86
180+
-DCMAKE_CXX_COMPILER="g++.exe" -G "MinGW Makefiles"
181+
-DBUILD_SHMATH=ON -DBUILD_DX11=ON
182+
- task: CMake@1
183+
displayName: CMake (MinGW32; SH DX11) Build Dbg
184+
inputs:
185+
cwd: Tests
186+
cmakeArgs: --build out5
187+
- task: CmdLine@2
188+
displayName: VCPKG install packages
189+
inputs:
190+
script: call vcpkg install --x-manifest-root=$(VCPKG_MANIFEST_DIR) --triplet=x86-mingw-static
191+
workingDirectory: $(VCPKG_ROOT)
192+
- task: CMake@1
193+
displayName: CMake (MinGW32; SH DX12) Dbg
194+
inputs:
195+
cwd: Tests
196+
cmakeArgs: >
197+
-B out6 -DCMAKE_BUILD_TYPE="Debug" -DDXMATH_ARCHITECTURE=x86 -DCMAKE_CXX_COMPILER="g++.exe" -G "MinGW Makefiles"
198+
-DBUILD_SHMATH=ON -DBUILD_DX12=ON
199+
-DCMAKE_TOOLCHAIN_FILE="$(VCPKG_CMAKE_DIR)" -DVCPKG_MANIFEST_DIR="$(VCPKG_MANIFEST_DIR)" -DVCPKG_TARGET_TRIPLET=x86-mingw-static
200+
- task: CMake@1
201+
displayName: CMake (MinGW32; SH DX12) Build Dbg
202+
inputs:
203+
cwd: Tests
204+
cmakeArgs: --build out6
131205

132206
- job: MINGW64_BUILD
133207
displayName: 'Minimalist GNU for Windows (MinGW-W64)'
@@ -137,12 +211,27 @@ jobs:
137211
fetchTags: false
138212
fetchDepth: 1
139213
path: 's'
214+
- checkout: vcpkgRepo
215+
displayName: Fetch VCPKG
216+
clean: true
217+
fetchTags: false
218+
fetchDepth: 1
219+
path: 's/vcpkg'
140220
- checkout: testRepo
141221
displayName: Fetch Tests
142222
clean: true
143223
fetchTags: false
144224
fetchDepth: 1
145225
path: 's/Tests'
226+
- task: CmdLine@2
227+
displayName: VCPKG Bootstrap
228+
inputs:
229+
script: |
230+
call bootstrap-vcpkg.bat
231+
echo ##vso[task.setvariable variable=VCPKG_DEFAULT_TRIPLET;]x64-mingw-static
232+
echo ##vso[task.setvariable variable=VCPKG_DEFAULT_HOST_TRIPLET;]x64-mingw-static
233+
234+
workingDirectory: $(Build.SourcesDirectory)\vcpkg
146235
- task: CmdLine@2
147236
displayName: GCC version
148237
inputs:
@@ -151,7 +240,9 @@ jobs:
151240
displayName: CMake (MinGW-W64) Dbg
152241
inputs:
153242
cwd: Tests
154-
cmakeArgs: -B out -DCMAKE_BUILD_TYPE="Debug" -DDXMATH_ARCHITECTURE=x64 -DCMAKE_CXX_COMPILER="g++.exe" -G "MinGW Makefiles"
243+
cmakeArgs: >
244+
-B out -DCMAKE_BUILD_TYPE="Debug" -DDXMATH_ARCHITECTURE=x64
245+
-DCMAKE_CXX_COMPILER="g++.exe" -G "MinGW Makefiles"
155246
- task: CMake@1
156247
displayName: CMake (MinGW-W64) Build Dbg
157248
inputs:
@@ -161,7 +252,9 @@ jobs:
161252
displayName: CMake (MinGW-W64) Rel
162253
inputs:
163254
cwd: Tests
164-
cmakeArgs: -B out2 -DCMAKE_BUILD_TYPE="RelWithDebInfo" -DDXMATH_ARCHITECTURE=x64 -DCMAKE_CXX_COMPILER="g++.exe" -G "MinGW Makefiles"
255+
cmakeArgs: >
256+
-B out2 -DCMAKE_BUILD_TYPE="RelWithDebInfo" -DDXMATH_ARCHITECTURE=x64
257+
-DCMAKE_CXX_COMPILER="g++.exe" -G "MinGW Makefiles"
165258
- task: CMake@1
166259
displayName: CMake (MinGW-W64) Build Rel
167260
inputs:
@@ -171,9 +264,57 @@ jobs:
171264
displayName: CMake (MinGW-W64) Dbg NI
172265
inputs:
173266
cwd: Tests
174-
cmakeArgs: -B out3 -DCMAKE_BUILD_TYPE="Debug" -DBUILD_NO_INTRINSICS=ON -DDXMATH_ARCHITECTURE=x64 -DCMAKE_CXX_COMPILER="g++.exe" -G "MinGW Makefiles"
267+
cmakeArgs: >
268+
-B out3 -DCMAKE_BUILD_TYPE="Debug" -DDXMATH_ARCHITECTURE=x64
269+
-DCMAKE_CXX_COMPILER="g++.exe" -G "MinGW Makefiles"
270+
-DBUILD_NO_INTRINSICS=ON
175271
- task: CMake@1
176272
displayName: CMake (MinGW-W64) Build Dbg NI
177273
inputs:
178274
cwd: Tests
179275
cmakeArgs: --build out3
276+
- task: CMake@1
277+
displayName: CMake (MinGW-W64; XDSP) Dbg
278+
inputs:
279+
cwd: Tests
280+
cmakeArgs: >
281+
-B out4 -DCMAKE_BUILD_TYPE="Debug" -DDXMATH_ARCHITECTURE=x64
282+
-DCMAKE_CXX_COMPILER="g++.exe" -G "MinGW Makefiles"
283+
-DBUILD_XDSP=ON
284+
- task: CMake@1
285+
displayName: CMake (MinGW-W64; XDSP) Build Dbg
286+
inputs:
287+
cwd: Tests
288+
cmakeArgs: --build out4
289+
- task: CMake@1
290+
displayName: CMake (MinGW-W64; SH DX11) Dbg
291+
inputs:
292+
cwd: Tests
293+
cmakeArgs: >
294+
-B out5 -DCMAKE_BUILD_TYPE="Debug" -DDXMATH_ARCHITECTURE=x64
295+
-DCMAKE_CXX_COMPILER="g++.exe" -G "MinGW Makefiles"
296+
-DBUILD_SHMATH=ON -DBUILD_DX11=ON
297+
- task: CMake@1
298+
displayName: CMake (MinGW-W64; SH DX11) Build Dbg
299+
inputs:
300+
cwd: Tests
301+
cmakeArgs: --build out5
302+
- task: CmdLine@2
303+
displayName: VCPKG install packages
304+
inputs:
305+
script: call vcpkg install --x-manifest-root=$(VCPKG_MANIFEST_DIR) --triplet=x64-mingw-static
306+
workingDirectory: $(VCPKG_ROOT)
307+
- task: CMake@1
308+
displayName: CMake (MinGW-W64; SH DX12) Dbg
309+
inputs:
310+
cwd: Tests
311+
cmakeArgs: >
312+
-B out6 -DCMAKE_BUILD_TYPE="Debug" -DDXMATH_ARCHITECTURE=x64
313+
-DCMAKE_CXX_COMPILER="g++.exe" -G "MinGW Makefiles"
314+
-DBUILD_SHMATH=ON -DBUILD_DX12=ON
315+
-DCMAKE_TOOLCHAIN_FILE="$(VCPKG_CMAKE_DIR)" -DVCPKG_MANIFEST_DIR="$(VCPKG_MANIFEST_DIR)" -DVCPKG_TARGET_TRIPLET=x64-mingw-static
316+
- task: CMake@1
317+
displayName: CMake (MinGW-W64; SH DX12) Build Dbg
318+
inputs:
319+
cwd: Tests
320+
cmakeArgs: --build out6

build/vcpkg.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json",
3+
"dependencies": [
4+
"directx-headers"
5+
]
6+
}

0 commit comments

Comments
 (0)