Skip to content
This repository was archived by the owner on Oct 10, 2025. It is now read-only.

Update README with library limitations and disclaimer #107

Update README with library limitations and disclaimer

Update README with library limitations and disclaimer #107

name: Windows LLVM Build
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
# Automatically cancel any previous workflow on new push.
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }}
cancel-in-progress: true
jobs:
build-and-test:
name: Build and Test on Windows with LLVM
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.x'
- name: Install dependencies
run: |
pip install meson ninja
shell: pwsh
- name: Download and install LLVM/Clang
run: |
# Download Clang
Invoke-WebRequest -Uri "https://github.com/llvm/llvm-project/releases/download/llvmorg-18.1.8/clang+llvm-18.1.8-x86_64-pc-windows-msvc.tar.xz" -OutFile "clang.tar.xz"
# Extract the archive (using 7zip which is available on Windows runners)
7z x clang.tar.xz
7z x clang.tar
# Move to a simpler path
Move-Item "clang+llvm-18.1.8-x86_64-pc-windows-msvc" "C:\clang"
# Add to PATH
echo "C:\clang\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
shell: pwsh
- name: Verify Clang installation
run: |
clang --version
clang++ --version
lld --version
llvm-ar --version
shell: pwsh
- name: Configure with Clang
run: |
# Set environment variables for Meson to use Clang with lld linker
$env:CC = "clang"
$env:CXX = "clang++"
$env:AR = "llvm-ar"
$env:RANLIB = "llvm-ranlib"
# Configure with Clang and force use of lld linker
meson setup build --backend ninja -Dc_args="-fuse-ld=lld" -Dcpp_args="-fuse-ld=lld" -Dc_link_args="-fuse-ld=lld" -Dcpp_link_args="-fuse-ld=lld"
shell: pwsh
- name: Build
run: |
meson compile -C build
- name: Test
run: |
ninja -C build test
- name: Upload test logs if failure
uses: actions/upload-artifact@v4
if: failure()
with:
name: test-logs-windows-llvm
path: build/meson-logs/testlog.txt