From a620c2077a89750e3d7498eedb240194be6c9595 Mon Sep 17 00:00:00 2001 From: Andy Lee Date: Sat, 9 Aug 2025 23:24:48 +0000 Subject: [PATCH] fix: auto-detect Homebrew paths for both DiskANN and HNSW backends - Fix DiskANN CMakeLists.txt path reference - Add macOS environment variable detection for OpenMP_ROOT - Support both Intel (/usr/local) and Apple Silicon (/opt/homebrew) paths --- .github/workflows/build-reusable.yml | 12 ++++++++++++ packages/leann-backend-diskann/CMakeLists.txt | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-reusable.yml b/.github/workflows/build-reusable.yml index 41083b7..ac084b6 100644 --- a/.github/workflows/build-reusable.yml +++ b/.github/workflows/build-reusable.yml @@ -119,6 +119,18 @@ jobs: uv pip install --system delocate fi + - name: Set macOS environment variables + if: runner.os == 'macOS' + run: | + # Detect Homebrew installation path and set environment variables + if [ -d "/opt/homebrew/opt/libomp" ]; then + echo "HOMEBREW_PREFIX=/opt/homebrew" >> $GITHUB_ENV + echo "OpenMP_ROOT=/opt/homebrew/opt/libomp" >> $GITHUB_ENV + elif [ -d "/usr/local/opt/libomp" ]; then + echo "HOMEBREW_PREFIX=/usr/local" >> $GITHUB_ENV + echo "OpenMP_ROOT=/usr/local/opt/libomp" >> $GITHUB_ENV + fi + - name: Build packages run: | # Build core (platform independent) diff --git a/packages/leann-backend-diskann/CMakeLists.txt b/packages/leann-backend-diskann/CMakeLists.txt index 2638282..a02185e 100644 --- a/packages/leann-backend-diskann/CMakeLists.txt +++ b/packages/leann-backend-diskann/CMakeLists.txt @@ -5,4 +5,4 @@ project(leann_backend_diskann_wrapper) # Tell CMake to directly enter the DiskANN submodule and execute its own CMakeLists.txt # DiskANN will handle everything itself, including compiling Python bindings -add_subdirectory(src/third_party/DiskANN) +add_subdirectory(third_party/DiskANN)