2828 cling : Off
2929 llvm_enable_projects : " clang"
3030 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"
3138
3239 steps :
3340 - uses : actions/checkout@v4
7380 path : |
7481 llvm-project
7582 ${{ 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
7784 lookup-only : true
7885
7986 - name : Setup default Build Type on Windows
@@ -93,10 +100,10 @@ jobs:
93100 choco install llvm --version=$ver --no-progress -my
94101 clang --version
95102 #
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
100107 }
101108 elseif ( "${{ matrix.compiler }}" -imatch "msvc" )
102109 {
@@ -130,7 +137,7 @@ jobs:
130137 }
131138 else
132139 {
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
134141 }
135142
136143 cd llvm-project
@@ -174,7 +181,7 @@ jobs:
174181 }
175182 cd build
176183 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}}" `
178185 -DLLVM_TARGETS_TO_BUILD="${{ matrix.llvm_targets_to_build }}" `
179186 -DCMAKE_BUILD_TYPE=Release `
180187 -DLLVM_ENABLE_ASSERTIONS=ON `
@@ -185,6 +192,10 @@ jobs:
185192 -DLLVM_ENABLE_ZSTD=OFF `
186193 -DLLVM_ENABLE_TERMINFO=OFF `
187194 -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" `
188199 ..\llvm
189200 cmake --build . --config Release --target clang clangInterpreter clangStaticAnalyzerCore --parallel ${{ env.ncpus }}
190201 }
@@ -231,6 +242,12 @@ jobs:
231242 clang-runtime : ' 19'
232243 cling : Off
233244 cppyy : Off
245+ - name : win2025-shared-lib
246+ os : windows-2025
247+ compiler : clang
248+ clang-runtime : ' 20'
249+ cling : Off
250+ cppyy : Off
234251
235252 steps :
236253 - uses : actions/checkout@v4
@@ -284,10 +301,10 @@ jobs:
284301 choco install llvm --version=$ver --no-progress -my
285302 clang --version
286303 #
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
291308 }
292309 elseif ( "${{ matrix.compiler }}" -imatch "msvc" )
293310 {
@@ -305,7 +322,7 @@ jobs:
305322 path : |
306323 llvm-project
307324 ${{ 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
309326
310327 - name : Build and Test/Install CppInterOp on Windows systems
311328 run : |
@@ -367,9 +384,10 @@ jobs:
367384 }
368385 else
369386 {
370- cmake -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} `
387+ cmake -G Ninja - DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} `
371388 -DLLVM_DIR="$env:LLVM_BUILD_DIR\lib\cmake\llvm" `
372389 -DLLVM_ENABLE_WERROR=On `
390+ -DBUILD_SHARED_LIBS=ON `
373391 -DClang_DIR="$env:LLVM_BUILD_DIR\lib\cmake\clang" -DCODE_COVERAGE=${{ env.CODE_COVERAGE }} -DCMAKE_INSTALL_PREFIX="$env:CPPINTEROP_DIR" ..\
374392 cmake --build . --config ${{ env.BUILD_TYPE }} --target googletest --parallel ${{ env.ncpus }}
375393 }
0 commit comments