Build and install kissfft-tools

Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>
This commit is contained in:
Vasyl Gello 2021-01-21 17:08:33 +02:00
parent 7651bdaaa1
commit c2e82a30e8
No known key found for this signature in database
GPG Key ID: 8A52BC6C291FB280
2 changed files with 23 additions and 4 deletions

View File

@ -11,6 +11,13 @@ project(kissfft VERSION "${MAKEFILE_EXTRACTED_VERSION}")
option(KISSFFT_SIMD "Build kissfft with SIMD" OFF)
option(KISSFFT_FLOAT "Build kissfft with float type" ON)
option(KISSFFT_OPENMP "Build kissfft with openmp" OFF)
option(KISSFFT_TOOLS "Build kissfft tools" ON)
option(KISSFFT_TEST "Build and enable kissfft tests" ON)
option(KISSFFT_INSTALL "Enable kissfft install" ON)
if (KISSFFT_INSTALL)
include(GNUInstallDirs)
endif()
if(CMAKE_C_COMPILER_ID MATCHES "GNU|Clang|AppleClang")
add_compile_options(-ffast-math -fomit-frame-pointer
@ -93,20 +100,16 @@ function(add_kissfft_executable NAME)
OUTPUT_NAME "${NAME}_${KISSFFT_DATATYPE}")
endfunction()
option(KISSFFT_TOOLS "Build kissfft tools" ON)
if(KISSFFT_TOOLS)
add_subdirectory(tools)
endif()
option(KISSFFT_TEST "Build and enable kissfft tests" ON)
if(KISSFFT_TEST)
enable_testing()
add_subdirectory(test)
endif()
option(KISSFFT_INSTALL "Enable kissfft install" ON)
if (KISSFFT_INSTALL)
include(GNUInstallDirs)
install(TARGETS kissfft EXPORT kissfft
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"

View File

@ -6,12 +6,28 @@ target_compile_definitions(fastconv PRIVATE FAST_FILT_UTIL)
add_kissfft_executable(fft fftutil.c kiss_fftnd.c kiss_fftr.c kiss_fftndr.c)
if (KISSFFT_INSTALL)
install(TARGETS fastconv fastconvr fft
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
endif()
# psdpng does not build with "simd" datatype
if(NOT KISSFFT_DATATYPE MATCHES "simd")
include(FindPkgConfig)
pkg_check_modules(libpng REQUIRED IMPORTED_TARGET libpng)
add_kissfft_executable(psdpng psdpng.c kiss_fftr.c)
target_link_libraries(psdpng PRIVATE PkgConfig::libpng)
if (KISSFFT_INSTALL)
install(TARGETS psdpng
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
endif()
endif()
#FIXME: dumphdr.c is not available