@@ -49,62 +49,10 @@ jobs:
4949 brew install llvm
5050 echo "CMAKE_PREFIX_PATH=$(brew --prefix llvm)" >> $GITHUB_ENV
5151
52- - name : Setup LLVM (Windows)
53- if : matrix.os == 'windows-latest'
54- shell : pwsh
55- run : |
56- $llvmVersion = "17.0.6"
57- $llvmUrl = "https://github.com/llvm/llvm-project/releases/download/llvmorg-${llvmVersion}/LLVM-${llvmVersion}-win64.exe"
58- $installerPath = "$env:TEMP\LLVM-installer.exe"
59-
60- Write-Host "Downloading LLVM ${llvmVersion} from GitHub releases..."
61- Invoke-WebRequest -Uri $llvmUrl -OutFile $installerPath
62-
63- Write-Host "Installing LLVM..."
64- Start-Process -FilePath $installerPath -ArgumentList "/S" -Wait
65-
66- $llvmRoot = "C:\Program Files\LLVM"
67- if (-not (Test-Path $llvmRoot)) { $llvmRoot = "C:\Program Files (x86)\LLVM" }
68-
69- Write-Host "Searching for LLVMConfig.cmake..."
70- $found = Get-ChildItem -Path $llvmRoot -Filter "LLVMConfig.cmake" -Recurse -ErrorAction SilentlyContinue | Select-Object -First 1
71-
72- if ($found) {
73- $llvmDir = Split-Path -Parent $found.FullName
74- $llvmDir = $llvmDir -replace "\\\\", "/"
75- $llvmRoot = $llvmRoot -replace "\\\\", "/"
76-
77- Add-Content $env:GITHUB_PATH "$llvmRoot/bin"
78- Add-Content $env:GITHUB_ENV "LLVM_DIR=$llvmDir"
79- Add-Content $env:GITHUB_ENV "LLVM_ROOT=$llvmRoot"
80- Add-Content $env:GITHUB_ENV "LLVM_AVAILABLE=1"
81-
82- Write-Host "✓ LLVM installed at: $llvmRoot"
83- Write-Host "✓ LLVM_DIR set to: $llvmDir"
84- } else {
85- Write-Host "✗ LLVMConfig.cmake not found - LLVM backend will be disabled"
86- Write-Host "Building without LLVM support on Windows"
87- Add-Content $env:GITHUB_ENV "LLVM_AVAILABLE=0"
88- }
89-
9052 - name : Install Ninja (Windows)
9153 if : matrix.os == 'windows-latest'
9254 run : choco install ninja -y
9355
94- - name : Debug LLVM Configuration (Windows)
95- if : matrix.os == 'windows-latest' && env.LLVM_AVAILABLE == '1'
96- shell : pwsh
97- run : |
98- Write-Host "LLVM_DIR: $env:LLVM_DIR"
99- Write-Host "LLVM_ROOT: $env:LLVM_ROOT"
100-
101- # Verify LLVMConfig.cmake exists
102- if (Test-Path "$env:LLVM_DIR/LLVMConfig.cmake") {
103- Write-Host "✓ Confirmed: LLVMConfig.cmake exists at $env:LLVM_DIR/LLVMConfig.cmake"
104- } else {
105- Write-Host "✗ ERROR: LLVMConfig.cmake not found at $env:LLVM_DIR"
106- exit 1
107- }
10856
10957 - name : Configure (Unix)
11058 if : matrix.os != 'windows-latest'
@@ -119,18 +67,11 @@ jobs:
11967 if : matrix.os == 'windows-latest'
12068 shell : pwsh
12169 run : |
122- $llvmDir = $env:LLVM_DIR
123- Write-Host "Using LLVM_DIR: $llvmDir"
124-
12570 cmake -S . -B build `
12671 -G "Ninja" `
12772 -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} `
12873 -DBUILD_TESTS=OFF `
129- -DBUILD_BENCH=OFF `
130- -DCMAKE_C_COMPILER="$env:LLVM_ROOT/bin/clang.exe" `
131- -DCMAKE_CXX_COMPILER="$env:LLVM_ROOT/bin/clang++.exe" `
132- -DLLVM_DIR="$llvmDir" `
133- -DCMAKE_PREFIX_PATH="$env:LLVM_ROOT"
74+ -DBUILD_BENCH=OFF
13475
13576 - name : Build
13677 shell : bash
0 commit comments