diff options
| author | myd7349 <myd7349@gmail.com> | 2020-05-13 07:21:22 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-05-12 16:21:22 -0700 |
| commit | 663a898bca05426b13274b699256577aa6d9a0e7 (patch) | |
| tree | 66dda27b87c11d49e9a9afb00e17008120d4fe78 | |
| parent | ba7450abdd7c6ccc29d8c4c7a56bbea62747beb9 (diff) | |
| download | vcpkg-663a898bca05426b13274b699256577aa6d9a0e7.tar.gz vcpkg-663a898bca05426b13274b699256577aa6d9a0e7.zip | |
[kissfft] Add new port (#9237)
* [kissfft] Add new port
* [kissfft] Update
* [kissfft] Update to 2020-03-20
| -rw-r--r-- | ports/kissfft/CMakeLists.txt | 65 | ||||
| -rw-r--r-- | ports/kissfft/CONTROL | 4 | ||||
| -rw-r--r-- | ports/kissfft/exports.def | 6 | ||||
| -rw-r--r-- | ports/kissfft/portfile.cmake | 30 |
4 files changed, 105 insertions, 0 deletions
diff --git a/ports/kissfft/CMakeLists.txt b/ports/kissfft/CMakeLists.txt new file mode 100644 index 000000000..8d522ecb9 --- /dev/null +++ b/ports/kissfft/CMakeLists.txt @@ -0,0 +1,65 @@ +cmake_minimum_required(VERSION 3.14)
+
+project(kissfft LANGUAGES C)
+
+include(GNUInstallDirs)
+
+option(KF_USE_SIMD "Use SIMD" OFF)
+option(KF_INSTALL_HEADERS "Install header files" ON)
+
+if (KF_USE_SIMD)
+ set(KF_SCALAR_TYPE "__m128" CACHE STRING "Definition of kiss_fft_scalar")
+else ()
+ set(KF_SCALAR_TYPE "float" CACHE STRING "Definition of kiss_fft_scalar")
+endif ()
+
+# TODO: FIXED_POINT
+# TODO: -msse
+
+set(kissfft_sources kiss_fft.c)
+
+if (WIN32 AND BUILD_SHARED_LIBS)
+ list(APPEND kissfft_sources exports.def)
+endif ()
+
+add_library(kissfft ${kissfft_sources})
+
+if (BUILD_SHARED_LIBS)
+ set_property(
+ TARGET kissfft
+ PROPERTY POSITION_INDEPENDENT_CODE ON
+ )
+endif ()
+
+target_include_directories(
+ kissfft
+ PUBLIC
+ $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
+)
+
+target_compile_definitions(
+ kissfft
+ PUBLIC
+ $<$<BOOL:${KF_USE_SIMD}>:USE_SIMD>
+ kiss_fft_scalar=${KF_SCALAR_TYPE}
+)
+
+if (KF_INSTALL_HEADERS)
+ install(
+ FILES
+ _kiss_fft_guts.h
+ kiss_fft.h
+ kissfft.hh
+ kissfft_i32.hh
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
+ )
+endif ()
+
+install(TARGETS kissfft EXPORT unofficial-kissfft-config)
+
+install(
+ EXPORT unofficial-kissfft-config
+ NAMESPACE unofficial::kissfft::
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/unofficial-kissfft
+ PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
+)
diff --git a/ports/kissfft/CONTROL b/ports/kissfft/CONTROL new file mode 100644 index 000000000..0c4f0f6a8 --- /dev/null +++ b/ports/kissfft/CONTROL @@ -0,0 +1,4 @@ +Source: kissfft +Version: 2020-03-30 +Homepage: https://github.com/mborgerding/kissfft +Description: A Fast Fourier Transform (FFT) library that tries to Keep it Simple, Stupid diff --git a/ports/kissfft/exports.def b/ports/kissfft/exports.def new file mode 100644 index 000000000..09897b9da --- /dev/null +++ b/ports/kissfft/exports.def @@ -0,0 +1,6 @@ +EXPORTS
+ kiss_fft_alloc
+ kiss_fft
+ kiss_fft_stride
+ kiss_fft_cleanup
+ kiss_fft_next_fast_size
diff --git a/ports/kissfft/portfile.cmake b/ports/kissfft/portfile.cmake new file mode 100644 index 000000000..d5eea7889 --- /dev/null +++ b/ports/kissfft/portfile.cmake @@ -0,0 +1,30 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO mborgerding/kissfft + REF 3f3fc6ab55da8610aba7fe89dcda09cf3a31f4e6 + SHA512 5d3781a82d067cebd0a20c6b35a2d806598ba66f3bbf282c49a2ac9a6d09e1307dca1f8bc5fcc4c5955dc2f66aa94ca4dcfe00e6b31ea4694aa9d507f194554e + HEAD_REF master +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/exports.def DESTINATION ${SOURCE_PATH}) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS_DEBUG + -DKF_INSTALL_HEADERS=OFF + OPTIONS_RELEASE + -DKF_INSTALL_HEADERS=ON +) + +vcpkg_install_cmake() + +vcpkg_copy_pdbs() + +vcpkg_fixup_cmake_targets( + CONFIG_PATH lib/cmake/unofficial-${PORT} + TARGET_PATH share/unofficial-${PORT} +) + +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) |
