From 14d5a36e14e1bac51b21ce4ceb1e90c66c331ecb Mon Sep 17 00:00:00 2001 From: Sveinung Rundhovde Date: Tue, 3 Oct 2023 15:08:15 +0200 Subject: [PATCH] Build wheels for Apple arm64 architecture --- .github/workflows/build.yaml | 3 +++ .github/workflows/wheels.yaml | 4 +++- python/pyproject.toml | 21 ++++++++++++++++++++- 3 files changed, 26 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 3cc1fbc8..27408f22 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -23,6 +23,9 @@ jobs: analyzers: "cppcheck" scan: "scan-build --status-bugs" mkdoc: "-DBUILD_DOC=ON -DSPHINX_ARGS=-WT" + - os: macos-13-xlarge + privledges: "sudo" + arch: arm64 steps: - uses: actions/checkout@v2 diff --git a/.github/workflows/wheels.yaml b/.github/workflows/wheels.yaml index 30d6bb33..daa18a1d 100644 --- a/.github/workflows/wheels.yaml +++ b/.github/workflows/wheels.yaml @@ -25,6 +25,8 @@ jobs: arch: i686 - os: macOS-10.15 arch: x86_64 + - os: macos-13-xlarge + arch: arm64 steps: - uses: actions/checkout@v2 @@ -44,7 +46,7 @@ jobs: CIBW_ENVIRONMENT_WINDOWS: > CMAKE_GENERATOR="${{ matrix.cmake_generator }}" CMAKE_GENERATOR_PLATFORM="${{ matrix.cmake_generator_platform }}" - CIBW_SKIP: pp* *-musllinux_* + CIBW_SKIP: pp* *-musllinux_* cp312-* CIBW_ARCHS: ${{ matrix.arch }} run: | python -m cibuildwheel --output-dir wheelhouse python/ diff --git a/python/pyproject.toml b/python/pyproject.toml index 1f1f5c1a..c7798359 100644 --- a/python/pyproject.toml +++ b/python/pyproject.toml @@ -55,11 +55,30 @@ test-command = [ ] [tool.cibuildwheel.linux] -manylinux-x86_64-image = "manylinux2010" +manylinux-x86_64-image = "manylinux2014" +manylinux-i686-image = "manylinux2014" +manylinux-aarch64-image = "manylinux2014" [[tool.cibuildwheel.overrides]] select = "cp311*" manylinux-x86_64-image = "manylinux2014" [tool.cibuildwheel.macos] +before-build = [ + """sudo cmake \ + -S . \ + -B build \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_POSITION_INDEPENDENT_CODE=ON \ + -DBUILD_TESTING=OFF \ + -DBUILD_PYTHON=OFF \ + -DBUILD_BIN=OFF \ + """, + """sudo cmake \ + --build build \ + --parallel \ + --target install \ + --config Release \ + """, +] environment = { CXXFLAGS="-L/usr/local/lib" }