diff --git a/.github/workflows/build-wheels.yml b/.github/workflows/build-wheels.yml index f67cf374a1..741939661b 100644 --- a/.github/workflows/build-wheels.yml +++ b/.github/workflows/build-wheels.yml @@ -30,6 +30,7 @@ jobs: matrix: buildplat: - [ubuntu-22.04, manylinux_x86_64] + - [linux-arm64-ubuntu24, manylinux_aarch64] - [macos-13, macosx_x86_64] - [macos-14, macosx_arm64] - [windows-2022, win_amd64] @@ -39,7 +40,7 @@ jobs: - uses: actions/checkout@v4 - name: "Brew setup on macOS" # x-ref c8e49ba8f8b9ce - if: ${{ startsWith(matrix.os, 'macos-') == true }} + if: ${{ startsWith(matrix.buildplat[0], 'macos-') == true }} run: | set -e pipefail brew update @@ -99,6 +100,7 @@ jobs: - macos-14 - windows-2022 - ubuntu-22.04 + - linux-arm64-ubuntu24 python: ["3.9", "3.10", "3.11", "3.12", "3.13"] runs-on: ${{ matrix.os }} steps: diff --git a/cmake/DownloadTileDB.cmake b/cmake/DownloadTileDB.cmake index 8db5015bdb..34f93dc05d 100644 --- a/cmake/DownloadTileDB.cmake +++ b/cmake/DownloadTileDB.cmake @@ -92,7 +92,11 @@ function(detect_artifact_name OUT_VAR) SET(${OUT_VAR} TILEDB_MACOS-ARM64 PARENT_SCOPE) endif() else() # Linux - SET(${OUT_VAR} TILEDB_LINUX-X86_64 PARENT_SCOPE) + if(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64") + SET(${OUT_VAR} TILEDB_LINUX-ARM64 PARENT_SCOPE) + else() + SET(${OUT_VAR} TILEDB_LINUX-X86_64 PARENT_SCOPE) + endif() endif() endfunction() @@ -113,6 +117,7 @@ function(fetch_prebuilt_tiledb) if(NOT FETCH_PREBUILT_TILEDB_ARTIFACT_NAME) detect_artifact_name(FETCH_PREBUILT_TILEDB_ARTIFACT_NAME) endif() + message(STATUS "Detected TileDB artifact name: ${FETCH_PREBUILT_TILEDB_ARTIFACT_NAME}") string(STRIP ${HASH_${FETCH_PREBUILT_TILEDB_ARTIFACT_NAME}} HASH_${FETCH_PREBUILT_TILEDB_ARTIFACT_NAME}) FetchContent_Declare( @@ -122,4 +127,4 @@ function(fetch_prebuilt_tiledb) ) FetchContent_MakeAvailable(tiledb) set(TileDB_DIR ${tiledb_SOURCE_DIR}/lib/cmake/TileDB PARENT_SCOPE) -endfunction() \ No newline at end of file +endfunction()