-
Notifications
You must be signed in to change notification settings - Fork 2
149 lines (127 loc) · 4.45 KB
/
windows-codeql.yml
File metadata and controls
149 lines (127 loc) · 4.45 KB
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
142
143
144
145
146
147
148
149
name: windows CodeQL
on: [workflow_dispatch]
jobs:
Build:
name: ${{matrix.name}} (${{matrix.config}})
runs-on: ${{matrix.os}}
env:
CMAKE_GENERATOR: Ninja
strategy:
fail-fast: false
matrix:
name: [
windows-2019-msvc2019,
windows-2019-msvc2019-win32,
windows-2019-msvc2019-arm64,
windows-2019-msvc2019-clang,
windows-2022-msvc2022,
windows-2022-msvc2022-win32,
windows-2022-msvc2022-arm64,
windows-2022-msvc2022-clang
]
config: [Debug, Release]
include:
- name: windows-2019-msvc2019
os: windows-2019
compiler: cl
architecture: x64
complete: win64_msvc2019_64
qtversion: "6.5.3"
- name: windows-2019-msvc2019-win32
os: windows-2019
compiler: cl
architecture: x86
complete: win32_msvc2019
qtversion: "5.15.2"
- name: windows-2019-msvc2019-arm64
os: windows-2019
compiler: cl
architecture: x64_arm64
complete: win64_msvc2019_arm64
qtversion: "6.5.3"
- name: windows-2019-msvc2019-clang
os: windows-2019
compiler: clang-cl
architecture: x64
complete: win64_msvc2019_64
qtversion: "6.5.3"
- name: windows-2022-msvc2022
os: windows-2022
compiler: cl
architecture: x64
complete: win64_msvc2019_64
qtversion: "6.5.3"
- name: windows-2022-msvc2022-win32
os: windows-2022
compiler: cl
architecture: x86
complete: win32_msvc2019
qtversion: "5.15.2"
- name: windows-2022-msvc2022-arm64
os: windows-2022
compiler: cl
architecture: x64_arm64
complete: win64_msvc2019_arm64
qtversion: "6.5.3"
- name: windows-2022-msvc2022-clang
os: windows-2022
compiler: clang-cl
architecture: x64
complete: win64_msvc2019_64
qtversion: "6.5.3"
steps:
- uses: actions/checkout@v4
- uses: ilammy/msvc-dev-cmd@v1
with:
arch: ${{matrix.architecture}}
- name: Install Qt
uses: jurplel/install-qt-action@v4
with:
version: '${{matrix.qtversion}}'
host: 'windows'
target: 'desktop'
arch: '${{matrix.complete}}'
cache: 'true'
- name: Install Qt (Host)
if: matrix.architecture == 'x64_arm64'
uses: jurplel/install-qt-action@v4
with:
version: '${{matrix.qtversion}}'
host: 'windows'
target: 'desktop'
arch: 'win64_msvc2019_64'
cache: 'true'
- name: Cache Dependencies
id: cache-choco
uses: actions/cache@v4
env:
cache-name: cache-choco-packages
with:
path: C:/Users/runneradmin/AppData/Local/Temp/chocolatey
key: ${{env.cache-name}}
- name: Dependencies
run: |
choco install ninja -y
choco install doxygen.install graphviz -y
if ( "${{matrix.architecture}}" -eq "x64_arm64" ) {
echo "Qt6_DIR=${{runner.workspace}}/Qt/${{matrix.qtversion}}/msvc2019_arm64" >> $env:GITHUB_ENV
echo "QT_PLUGIN_PATH=${{runner.workspace}}/Qt/${{matrix.qtversion}}/msvc2019_arm64/plugins" >> $env:GITHUB_ENV
echo "QML2_IMPORT_PATH=${{runner.workspace}}/Qt/${{matrix.qtversion}}/msvc2019_arm64/qml" >> $env:GITHUB_ENV
echo "QT_HOST_PATH=${{runner.workspace}}/Qt/${{matrix.qtversion}}/msvc2019_64/" >> $env:GITHUB_ENV
}
- name: Initialize CodeQL
if: matrix.compiler != 'clang-cl'
uses: github/codeql-action/init@v3
with:
languages: 'cpp'
- name: Create Build Environment
run: cmake -E make_directory ${{runner.workspace}}/build
- name: Configure CMake
working-directory: ${{runner.workspace}}/build
run: cmake $env:GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE:STRING=${{matrix.config}}
- name: Build
working-directory: ${{runner.workspace}}/build
run: cmake --build . --config ${{matrix.config}}
- name: Perform CodeQL Analysis
if: matrix.compiler != 'clang-cl'
uses: github/codeql-action/analyze@v3