diff options
| author | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
|---|---|---|
| committer | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
| commit | 54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch) | |
| tree | d915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/kissfft/portfile.cmake | |
Diffstat (limited to 'vcpkg/ports/kissfft/portfile.cmake')
| -rw-r--r-- | vcpkg/ports/kissfft/portfile.cmake | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/vcpkg/ports/kissfft/portfile.cmake b/vcpkg/ports/kissfft/portfile.cmake new file mode 100644 index 0000000..9372b9e --- /dev/null +++ b/vcpkg/ports/kissfft/portfile.cmake @@ -0,0 +1,90 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO mborgerding/kissfft + REF "${VERSION}" + SHA512 bd715868ce0e93a291a0592fb1f8b960e832fc64efe863755e52b67d5addff9bcb444a1bf2570d1914c52b41dad1023d0d86400f5ea30c9fb84cd6b4f7210708 + HEAD_REF master + PATCHES + fix-install-dirs.patch + fix-linkage.patch +) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" KISSFFT_STATIC) + +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + openmp KISSFFT_OPENMP + tools KISSFFT_TOOLS +) + +if("tools" IN_LIST FEATURES) + vcpkg_find_acquire_program(PKGCONFIG) +endif() + +set(datatypes float double int16_t int32_t) + +foreach(datatype IN LISTS datatypes) + vcpkg_cmake_configure( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS + -DKISSFFT_DATATYPE=${datatype} + -DKISSFFT_PKGCONFIG=ON + -DKISSFFT_TEST=OFF + -DKISSFFT_STATIC=${KISSFFT_STATIC} + ${FEATURE_OPTIONS} + LOGFILE_BASE "config-${TARGET_TRIPLET}-${datatype}" + ) + + vcpkg_cmake_build( + LOGFILE_BASE "install-${TARGET_TRIPLET}-${datatype}" + TARGET install + ) + + vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/kissfft") + + vcpkg_copy_pdbs() +endforeach() + +vcpkg_fixup_pkgconfig() + +if("tools" IN_LIST FEATURES) + set(tool_names) + + foreach(datatype IN LISTS datatypes) + if("openmp" IN_LIST FEATURES) + list(APPEND tool_names + "fastconv-${datatype}-openmp" + "fastconvr-${datatype}-openmp" + "fft-${datatype}-openmp" + "psdpng-${datatype}-openmp" + ) + else() + list(APPEND tool_names + "fastconv-${datatype}" + "fastconvr-${datatype}" + "fft-${datatype}" + "psdpng-${datatype}" + ) + endif() + endforeach() + + vcpkg_copy_tools( + TOOL_NAMES ${tool_names} + AUTO_CLEAN + ) +endif() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + vcpkg_replace_string( + "${CURRENT_PACKAGES_DIR}/include/kissfft/kiss_fft.h" + "#ifdef KISS_FFT_SHARED" + "#if 1 //#ifdef KISS_FFT_SHARED" + ) +endif() + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/kissfft") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") |