Skip to content

ci: install fftw for windows #20

ci: install fftw for windows

ci: install fftw for windows #20

name: Build Python wheels (skbuild)
on: [push, pull_request]
jobs:
build_wheels_unix:
name: Build wheels on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-13]
steps:
- uses: actions/checkout@v4
- name: Build wheels
uses: pypa/[email protected]
env:
CIBW_BUILD_VERBOSITY: 1
CIBW_SKIP: "pp* *musllinux*"
CIBW_ARCHS_LINUX: "x86_64"
CIBW_BEFORE_ALL_LINUX: yum install -y fftw3-devel
CIBW_BEFORE_ALL_MACOS: brew install gcc@14 fftw
CIBW_ENVIRONMENT_MACOS: >
FC=gfortran-14
CC=gcc-14
CXX=g++-14
MACOSX_DEPLOYMENT_TARGET=13
- uses: actions/upload-artifact@v4
with:
name: cibw-wheels-${{ matrix.os }}-${{ strategy.job-index }}
path: ./wheelhouse/*.whl
build_wheels_win:
name: Build wheels on Windows
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- name: Download FFTW libraries
run: |
Write-Output "Downloading FFTW release (64-bit)"
Invoke-WebRequest -Uri "https://fftw.org/pub/fftw/fftw-3.3.5-dll64.zip" -OutFile "${{ github.workspace }}\fftw64.zip"
Write-Output "Unzipping 64-bit FFTW release"
Expand-Archive -Path "${{ github.workspace }}\fftw64.zip" -DestinationPath "${{ github.workspace }}\fftw64"
- name: Setup Visual Code build tools (64-bit)
uses: ilammy/msvc-dev-cmd@v1
with:
arch: amd64
- name: Convert .def files to .lib
run: |
lib.exe /def:${{ github.workspace }}\fftw64\libfftw3-3.def /out:${{ github.workspace }}\fftw64\libfftw3-3.lib /machine:x64
lib.exe /def:${{ github.workspace }}\fftw64\libfftw3f-3.def /out:${{ github.workspace }}\fftw64\libfftw3f-3.lib /machine:x64
lib.exe /def:${{ github.workspace }}\fftw64\libfftw3l-3.def /out:${{ github.workspace }}\fftw64\libfftw3l-3.lib /machine:x64
- name: Build wheels
uses: pypa/[email protected]
env:
CIBW_ARCHS: AMD64
CIBW_BUILD_VERBOSITY: 1
- uses: actions/upload-artifact@v4
with:
name: cibw-wheels-${{ matrix.os }}-${{ strategy.job-index }}
path: ./wheelhouse/*.whl