Skip to content

Commit d7deb2f

Browse files
committed
fix: Remove LLVM on Windows, use MSVC compiler
- LLVM Windows installers don't have CMake support - Use default MSVC compiler on Windows (already on GitHub runners) - Keep Ninja build system for faster builds - LLVM remains required on Unix (Linux/macOS) with proper support - Simplified Windows build configuration Windows will build without LLVM backend, which is acceptable.
1 parent 5232f98 commit d7deb2f

1 file changed

Lines changed: 1 addition & 60 deletions

File tree

.github/workflows/build.yml

Lines changed: 1 addition & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)