-
Notifications
You must be signed in to change notification settings - Fork 56
142 lines (121 loc) · 5.02 KB
/
vcpkg.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.
name: 'CMake (Windows using VCPKG)'
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
paths-ignore:
- '*.md'
- LICENSE
permissions:
contents: read
jobs:
build:
runs-on: 'windows-2022'
strategy:
fail-fast: false
matrix:
build_type: [x64-Debug-VCPKG, x64-Debug-Clang-VCPKG]
arch: [amd64]
include:
- build_type: x86-Debug-VCPKG
arch: amd64_x86
- build_type: arm64-Debug-VCPKG
arch: amd64_arm64
- build_type: arm64-Debug-Clang-VCPKG
arch: amd64_arm64
- build_type: x64-Debug-MinGW
arch: amd64
- build_type: x64-Release-MinGW
arch: amd64
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: 'Install Ninja'
run: choco install ninja
- uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0
with:
arch: ${{ matrix.arch }}
- name: 'Set triplet'
shell: pwsh
run: |
if ("${{ matrix.arch }}" -eq "amd64")
{
if ("${{ matrix.build_type }}" -match "MinGW")
{
echo "VCPKG_DEFAULT_TRIPLET=x64-mingw-static" >> $env:GITHUB_ENV
}
else
{
echo "VCPKG_DEFAULT_TRIPLET=x64-windows" >> $env:GITHUB_ENV
}
}
elseif ("${{ matrix.arch }}" -eq "amd64_x86")
{
echo "VCPKG_DEFAULT_TRIPLET=x86-windows" >> $env:GITHUB_ENV
}
elseif ("${{ matrix.arch }}" -eq "amd64_arm64")
{
if ("${{ matrix.build_type }}" -match "^arm64ec")
{
echo "VCPKG_DEFAULT_TRIPLET=arm64ec-windows" >> $env:GITHUB_ENV
}
else
{
echo "VCPKG_DEFAULT_TRIPLET=arm64-windows" >> $env:GITHUB_ENV
}
}
else
{
echo "::error Unknown architecture/build-type triplet mapping"
}
- uses: lukka/run-vcpkg@7d259227a1fb6471a0253dd5ab7419835228f7d7 # v11
with:
runVcpkgInstall: true
vcpkgJsonGlob: '**/build/vcpkg.json'
vcpkgGitCommitId: '${{ vars.VCPKG_COMMIT_ID }}'
- name: 'Instance templates'
shell: pwsh
working-directory: ${{ github.workspace }}/VSIX
run: |
.\createcmake.ps1 d3d11game_win32 Direct3DGame ${{ github.workspace }}
.\createcmake.ps1 d3d11game_win32_dr Direct3DGameDR ${{ github.workspace }}
.\createcmake.ps1 d3d12game_win32 Direct3D12Game ${{ github.workspace }}
.\createcmake.ps1 d3d12game_win32_dr Direct3D12GameDR ${{ github.workspace }}
- name: 'Configure CMake - Direct3DGame (DX11)'
working-directory: ${{ github.workspace }}/Direct3DGame
run: >
cmake --preset=${{ matrix.build_type }} -DBUILD_TEST_TEMPLATE=ON
-DCMAKE_TOOLCHAIN_FILE="${{ github.workspace }}/vcpkg/scripts/buildsystems/vcpkg.cmake" -DVCPKG_MANIFEST_DIR="${{ github.workspace }}/build"
-DVCPKG_TARGET_TRIPLET="${env:VCPKG_DEFAULT_TRIPLET}"
- name: 'Build - Direct3DGame (DX11)'
working-directory: ${{ github.workspace }}/Direct3DGame
run: cmake --build out\build\${{ matrix.build_type }}
- name: 'Configure CMake - Direct3DGameDR (DX11)'
working-directory: ${{ github.workspace }}/Direct3DGameDR
run: >
cmake --preset=${{ matrix.build_type }} -DBUILD_TEST_TEMPLATE=ON
-DCMAKE_TOOLCHAIN_FILE="${{ github.workspace }}/vcpkg/scripts/buildsystems/vcpkg.cmake" -DVCPKG_MANIFEST_DIR="${{ github.workspace }}/build"
-DVCPKG_TARGET_TRIPLET="${env:VCPKG_DEFAULT_TRIPLET}"
- name: 'Build - Direct3DGameDR (DX11)'
working-directory: ${{ github.workspace }}/Direct3DGameDR
run: cmake --build out\build\${{ matrix.build_type }}
- name: 'Configure CMake - Direct3D12Game (DX12)'
working-directory: ${{ github.workspace }}/Direct3D12Game
run: >
cmake --preset=${{ matrix.build_type }} -DBUILD_TEST_TEMPLATE=ON
-DCMAKE_TOOLCHAIN_FILE="${{ github.workspace }}/vcpkg/scripts/buildsystems/vcpkg.cmake" -DVCPKG_MANIFEST_DIR="${{ github.workspace }}/build"
-DVCPKG_TARGET_TRIPLET="${env:VCPKG_DEFAULT_TRIPLET}"
- name: 'Build - Direct3D12Game (DX12)'
working-directory: ${{ github.workspace }}/Direct3D12Game
run: cmake --build out\build\${{ matrix.build_type }}
- name: 'Configure CMake - Direct3D12GameDR (DX12)'
working-directory: ${{ github.workspace }}/Direct3D12GameDR
run: >
cmake --preset=${{ matrix.build_type }} -DBUILD_TEST_TEMPLATE=ON
-DCMAKE_TOOLCHAIN_FILE="${{ github.workspace }}/vcpkg/scripts/buildsystems/vcpkg.cmake" -DVCPKG_MANIFEST_DIR="${{ github.workspace }}/build"
-DVCPKG_TARGET_TRIPLET="${env:VCPKG_DEFAULT_TRIPLET}"
- name: 'Build - Direct3D12GameDR (DX12)'
working-directory: ${{ github.workspace }}/Direct3D12GameDR
run: cmake --build out\build\${{ matrix.build_type }}