diff --git a/.github/workflows/nightly_coverage.yml b/.github/workflows/nightly_coverage.yml index 61408baf8..dab643228 100644 --- a/.github/workflows/nightly_coverage.yml +++ b/.github/workflows/nightly_coverage.yml @@ -48,7 +48,7 @@ jobs: - name: Install system dependencies run: | sudo apt-get update - sudo apt-get install -y lcov + sudo apt-get install -y lcov libaio-dev shell: bash - name: Install dependencies diff --git a/CMakeLists.txt b/CMakeLists.txt index 392dbdac8..1669c2250 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -132,7 +132,11 @@ endif() message(STATUS "RABITQ_ARCH_FLAG: ${RABITQ_ARCH_FLAG}") # DiskAnn support (Linux x86_64 only, requires libaio) -if(CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64|i686|i386" AND NOT ANDROID AND NOT IOS) +if(NOT ENABLE_DISKANN) + set(DISKANN_SUPPORTED OFF) + add_definitions(-DDISKANN_SUPPORTED=0) + message(STATUS "DiskAnn support disabled by ENABLE_DISKANN=OFF") +elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64|i686|i386" AND NOT ANDROID AND NOT IOS) set(DISKANN_SUPPORTED ON) add_definitions(-DDISKANN_SUPPORTED=1) else() diff --git a/cmake/option.cmake b/cmake/option.cmake index fe108575b..e58fd955c 100644 --- a/cmake/option.cmake +++ b/cmake/option.cmake @@ -33,6 +33,9 @@ option(ENABLE_ARMV8.6A "Enable ARMv8.6-a architecture" OFF) ## OpenMP option option(ENABLE_OPENMP "Enable OpenMP support" OFF) +## DiskAnn index support (requires libaio-dev at compile time on Linux) +option(ENABLE_DISKANN "Enable DiskAnn index support (requires libaio-dev)" ON) + ## Treat warnings as errors (for CI) option(ENABLE_WERROR "Treat compiler warnings as errors in strict targets" OFF)