#!/usr/bin/env bash set -o errexit set -o pipefail INC="$(pwd)/inc" [ -d "$INC" ] || mkdir "$INC" LIB="$(pwd)/lib" [ -d "$LIB" ] || mkdir "$LIB" LIB_FFT="fftw-3.3.11" LIB_FFT_ZIP="$LIB_FFT.tar.gz" LIB_FFT_URL="https://fftw.org/$LIB_FFT_ZIP" LIB_FFT_A="libfftw3f.a" [ -f "$LIB_FFT_ZIP" ] || wget "$LIB_FFT_URL" [ -d "$LIB_FFT" ] || tar zxvf "$LIB_FFT_ZIP" if ! [ -f "$LIB_FFT/build/$LIB_FFT_A" ]; then pushd "$LIB_FFT" 2>/dev/null if [ -d build ]; then rm -rf build fi cp "api/fftw3.h" "$INC" mkdir build pushd build cmake .. -DBUILD_SHARED_LIBS=OFF -DCMAKE_POLICY_VERSION_MINIMUM=3.5 \ -DENABLE_AVX=ON -DENABLE_AVX2=ON -DENABLE_SSE2=ON \ -DENABLE_FLOAT=ON cmake --build . -j cp "$LIB_FFT_A" "$LIB" popd 2>/dev/null popd 2>/dev/null fi LIB_VKFFT="VkFFT" LIB_VKFFT_URL="https://git.yummers.dev/yum-mirror/$LIB_VKFFT.git" [ -d "$LIB_VKFFT" ] || git clone "$LIB_VKFFT_URL" if ! [ -f "$LIB_VKFFT/build/glslang-main/SPIRV/libSPIRV.a" ]; then pushd "$LIB_VKFFT" 2>/dev/null if [ -d build ]; then rm -rf build fi mkdir build pushd build 2>/dev/null cmake .. cmake --build . -j popd 2>/dev/null popd 2>/dev/null fi