kfr

Fast, modern C++ DSP framework, FFT, Sample Rate Conversion, FIR/IIR/Biquad Filters (SSE, AVX, AVX-512, ARM NEON)
Log | Files | Refs | README

commit e325266c5ef32e68bdd3aab0eced7459bad4f89b
parent c5e405f03582c4747fca0d873b5107d220397816
Author: d.levin256@gmail.com <d.levin256@gmail.com>
Date:   Wed, 14 Feb 2024 07:48:28 +0000

windows arm64 build

Diffstat:
M.github/workflows/build.yml | 21+++++++++++++++++++++
M.github/workflows/test.yml | 13+++++++++++++
MCMakeLists.txt | 4++++
3 files changed, 38 insertions(+), 0 deletions(-)

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml @@ -64,6 +64,27 @@ jobs: name: windows-x86_64 path: ${{ github.workspace }}/dist + binaries-windows-arm64: + runs-on: windows-2022 + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Build + shell: cmd + run: | + choco install llvm --version 17.0.6 --no-progress -y + choco install ninja --no-progress -y + call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsamd64_arm64.bat" + cmake -B build-release -S . -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/dist -GNinja -DKFR_ENABLE_CAPI_BUILD=ON -DKFR_ARCH=target -DCMAKE_CXX_COMPILER_TARGET=arm64-pc-windows-msvc -DCMAKE_CXX_COMPILER="C:/Program Files/LLVM/bin/clang-cl.exe" -DCMAKE_LINKER="C:/Program Files/LLVM/bin/lld-link.exe" -DCMAKE_AR="C:/Program Files/LLVM/bin/llvm-lib.exe" + cmake -B build-debug -S . -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/dist -GNinja -DKFR_ENABLE_CAPI_BUILD=ON -DKFR_ARCH=target -DCMAKE_CXX_COMPILER_TARGET=arm64-pc-windows-msvc -DCMAKE_CXX_COMPILER="C:/Program Files/LLVM/bin/clang-cl.exe" -DCMAKE_LINKER="C:/Program Files/LLVM/bin/lld-link.exe" -DCMAKE_AR="C:/Program Files/LLVM/bin/llvm-lib.exe" + ninja -C build-release install + ninja -C build-debug install + - name: Binaries + uses: actions/upload-artifact@v4 + with: + name: windows-arm64 + path: ${{ github.workspace }}/dist + binaries-macos-x86_64: runs-on: macos-13 steps: diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml @@ -93,6 +93,19 @@ jobs: set PATH=C:\sde;%PATH% ci\run.cmd build-release -DKFR_ENABLE_CAPI_BUILD=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DKFR_ARCH_TESTS=sse2,ssse3,sse42,avx,avx2,avx512 -DKFR_ENABLE_MULTIARCH=ON -DCMAKE_CXX_COMPILER="C:/Program Files/LLVM/bin/clang-cl.exe" -DCMAKE_LINKER="C:/Program Files/LLVM/bin/lld-link.exe" -DKFR_USE_SDE=ON -DKFR_ARCH=sse2 -DCMAKE_BUILD_TYPE=Release -DCMAKE_AR="C:/Program Files/LLVM/bin/llvm-lib.exe" + windows2022-clang17-arm64: + runs-on: windows-2022 + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Tests + shell: cmd + run: | + choco install llvm --version 17.0.6 --no-progress -y + choco install ninja --no-progress -y + call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsamd64_arm64.bat" + ci\run.cmd build-release -DKFR_ENABLE_CAPI_BUILD=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_CXX_COMPILER="C:/Program Files/LLVM/bin/clang-cl.exe" -DCMAKE_LINKER="C:/Program Files/LLVM/bin/lld-link.exe" -DCMAKE_CXX_COMPILER_TARGET=arm64-pc-windows-msvc -DKFR_ARCH=target -DKFR_SKIP_TESTS=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_AR="C:/Program Files/LLVM/bin/llvm-lib.exe" + windows2022-msvc2022-x86: runs-on: windows-2022 steps: diff --git a/CMakeLists.txt b/CMakeLists.txt @@ -147,6 +147,10 @@ if (CMAKE_OSX_ARCHITECTURES MATCHES "^[Aa][Rr][Mm]64$") set(X86 FALSE) endif () +if (CMAKE_CXX_COMPILER_TARGET MATCHES "^arm") + set(X86 FALSE) +endif () + if (CMAKE_SIZEOF_VOID_P EQUAL 8) set(BITNESS64 TRUE) else ()