28
28
cling : Off
29
29
llvm_enable_projects : " clang"
30
30
llvm_targets_to_build : " host;NVPTX"
31
+ - name : win2025-shared-lib
32
+ os : windows-2025
33
+ compiler : clang
34
+ clang-runtime : ' 20'
35
+ cling : Off
36
+ llvm_enable_projects : " clang"
37
+ llvm_targets_to_build : " host"
31
38
32
39
steps :
33
40
- uses : actions/checkout@v4
73
80
path : |
74
81
llvm-project
75
82
${{ matrix.cling=='On' && 'cling' || '' }}
76
- key : ${{ env.CLING_HASH }}-${{ runner.os }}-${{ matrix.os }}-${{ matrix.compiler }}-clang-${{ matrix.clang-runtime }}.x-patch-${{ hashFiles(format('patches/llvm/clang{0}-*.patch', matrix.clang-runtime)) || 'none' }}
83
+ key : ${{ env.CLING_HASH }}-${{ runner.os }}-${{ matrix.os }}-${{ matrix.compiler }}-clang-${{ matrix.clang-runtime }}.x-patch-${{ hashFiles(format('patches/llvm/clang{0}-*.patch', matrix.clang-runtime)) || 'none' }}-shared-lib
77
84
lookup-only : true
78
85
79
86
- name : Setup default Build Type on Windows
@@ -93,10 +100,10 @@ jobs:
93
100
choco install llvm --version=$ver --no-progress -my
94
101
clang --version
95
102
#
96
- $env:CC="clang"
97
- $env:CXX="clang++ "
98
- echo "CC=clang" >> $env:GITHUB_ENV
99
- echo "CXX=clang++ " >> $env:GITHUB_ENV
103
+ $env:CC="clang-cl "
104
+ $env:CXX="clang-cl "
105
+ echo "CC=clang-cl " >> $env:GITHUB_ENV
106
+ echo "CXX=clang-cl " >> $env:GITHUB_ENV
100
107
}
101
108
elseif ( "${{ matrix.compiler }}" -imatch "msvc" )
102
109
{
@@ -130,7 +137,7 @@ jobs:
130
137
}
131
138
else
132
139
{
133
- git clone --depth=1 -b release/${{ matrix.clang-runtime }}.x https://github.com/llvm /llvm-project.git
140
+ git clone --depth=1 -b llvm-export-api-20.0 https://github.com/fsfod /llvm-project.git
134
141
}
135
142
136
143
cd llvm-project
@@ -174,7 +181,7 @@ jobs:
174
181
}
175
182
cd build
176
183
echo "Apply clang${{ matrix.clang-runtime }}-*.patch patches:"
177
- cmake -DLLVM_ENABLE_PROJECTS="${{ matrix.llvm_enable_projects}}" `
184
+ cmake - G Ninja - DLLVM_ENABLE_PROJECTS="${{ matrix.llvm_enable_projects}}" `
178
185
-DLLVM_TARGETS_TO_BUILD="${{ matrix.llvm_targets_to_build }}" `
179
186
-DCMAKE_BUILD_TYPE=Release `
180
187
-DLLVM_ENABLE_ASSERTIONS=ON `
@@ -185,6 +192,10 @@ jobs:
185
192
-DLLVM_ENABLE_ZSTD=OFF `
186
193
-DLLVM_ENABLE_TERMINFO=OFF `
187
194
-DLLVM_ENABLE_LIBXML2=OFF `
195
+ -DLLVM_ENABLE_PLUGINS=On `
196
+ -DLLVM_BUILD_LLVM_DYLIB=On `
197
+ -DCMAKE_ASM_MASM_COMPILER=llvm-ml `
198
+ -DCMAKE_ASM_MASM_FLAGS="-m64" `
188
199
..\llvm
189
200
cmake --build . --config Release --target clang clangInterpreter clangStaticAnalyzerCore --parallel ${{ env.ncpus }}
190
201
}
@@ -231,6 +242,12 @@ jobs:
231
242
clang-runtime : ' 19'
232
243
cling : Off
233
244
cppyy : Off
245
+ - name : win2025-shared-lib
246
+ os : windows-2025
247
+ compiler : clang
248
+ clang-runtime : ' 20'
249
+ cling : Off
250
+ cppyy : Off
234
251
235
252
steps :
236
253
- uses : actions/checkout@v4
@@ -284,10 +301,10 @@ jobs:
284
301
choco install llvm --version=$ver --no-progress -my
285
302
clang --version
286
303
#
287
- $env:CC="clang"
288
- $env:CXX="clang++ "
289
- echo "CC=clang" >> $env:GITHUB_ENV
290
- echo "CXX=clang++ " >> $env:GITHUB_ENV
304
+ $env:CC="clang-cl "
305
+ $env:CXX="clang-cl "
306
+ echo "CC=clang-cl " >> $env:GITHUB_ENV
307
+ echo "CXX=clang-cl " >> $env:GITHUB_ENV
291
308
}
292
309
elseif ( "${{ matrix.compiler }}" -imatch "msvc" )
293
310
{
@@ -305,7 +322,7 @@ jobs:
305
322
path : |
306
323
llvm-project
307
324
${{ matrix.cling=='On' && 'cling' || '' }}
308
- key : ${{ env.CLING_HASH }}-${{ runner.os }}-${{ matrix.os }}-${{ matrix.compiler }}-clang-${{ matrix.clang-runtime }}.x-patch-${{ hashFiles(format('patches/llvm/clang{0}-*.patch', matrix.clang-runtime)) || 'none' }}
325
+ key : ${{ env.CLING_HASH }}-${{ runner.os }}-${{ matrix.os }}-${{ matrix.compiler }}-clang-${{ matrix.clang-runtime }}.x-patch-${{ hashFiles(format('patches/llvm/clang{0}-*.patch', matrix.clang-runtime)) || 'none' }}-shared-lib
309
326
310
327
- name : Build and Test/Install CppInterOp on Windows systems
311
328
run : |
@@ -367,9 +384,10 @@ jobs:
367
384
}
368
385
else
369
386
{
370
- cmake -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} `
387
+ cmake -G Ninja - DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} `
371
388
-DLLVM_DIR="$env:LLVM_BUILD_DIR\lib\cmake\llvm" `
372
389
-DLLVM_ENABLE_WERROR=On `
390
+ -DBUILD_SHARED_LIBS=ON `
373
391
-DClang_DIR="$env:LLVM_BUILD_DIR\lib\cmake\clang" -DCODE_COVERAGE=${{ env.CODE_COVERAGE }} -DCMAKE_INSTALL_PREFIX="$env:CPPINTEROP_DIR" ..\
374
392
cmake --build . --config ${{ env.BUILD_TYPE }} --target googletest --parallel ${{ env.ncpus }}
375
393
}
0 commit comments