Skip to content

Commit

Permalink
Merge pull request #57 from basilgello/debian-fixes
Browse files Browse the repository at this point in the history
Modernize upstream package after inclusion to Debian
  • Loading branch information
mborgerding authored Jan 22, 2021
2 parents cc862cb + f88d5af commit d11f1a8
Show file tree
Hide file tree
Showing 7 changed files with 52 additions and 23 deletions.
25 changes: 19 additions & 6 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -33,7 +40,11 @@ if(NOT KISSFFT_FLOAT_TYPE IN_LIST KISSFFT_FLOAT_TYPE_VALID)
endif()

add_library(kissfft
kiss_fft.c)
kiss_fft.c
tools/kfc.c
tools/kiss_fftnd.c
tools/kiss_fftndr.c
tools/kiss_fftr.c)

target_include_directories(kissfft PUBLIC
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}>
Expand Down Expand Up @@ -93,25 +104,27 @@ 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}"
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
install(FILES "kiss_fft.h" "kissfft.hh" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
install(FILES kiss_fft.h
kissfft.hh
tools/kfc.h
tools/kiss_fftnd.h
tools/kiss_fftndr.h
tools/kiss_fftr.h
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")

set(KISSFFT_INSTALL_CMAKE "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}" CACHE FILEPATH "Install destination of kissfft cmake modules")
mark_as_advanced(KISSFFT_INSTALL_CMAKE)
Expand Down
6 changes: 3 additions & 3 deletions test/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,14 @@ function(add_kissfft_test_executable NAME)
add_kissfft_executable(${NAME} ${ARGN} $<TARGET_OBJECTS:kissfft_help_library>)
target_include_directories(${NAME} PRIVATE ../tools)
add_test(NAME ${NAME} COMMAND ${NAME})
set_tests_properties(${NAME} PROPERTIES TIMEOUT 10)
set_tests_properties(${NAME} PROPERTIES TIMEOUT 3600)
endfunction()

set(KISSFFT_TEST_NUMFFTS 10000)

add_kissfft_test_executable(bm_kiss benchkiss.c)
# add_test(NAME benchmar COMMAND ${NAME})
# set_tests_properties(${NAME} PROPERTIES TIMEOUT 10)
# set_tests_properties(${NAME} PROPERTIES TIMEOUT 3600)

include(FindPkgConfig)
if(KISSFFT_FLOAT)
Expand All @@ -44,6 +44,6 @@ add_kissfft_test_executable(testcpp testcpp.cc)
find_package(PythonInterp REQUIRED)
add_test(NAME testkiss.py COMMAND "${PYTHON_EXECUTABLE}" "${CMAKE_CURRENT_SOURCE_DIR}/testkiss.py")
set_tests_properties(testkiss.py PROPERTIES
TIMEOUT 20
TIMEOUT 3600
ENVIRONMENT "DATATYPE=${KISSFFT_DATATYPE}"
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}")
22 changes: 19 additions & 3 deletions tools/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,17 +1,33 @@
add_kissfft_executable(fastconvr kiss_fastfir.c kiss_fftr.c)
add_kissfft_executable(fastconvr kiss_fastfir.c)
target_compile_definitions(fastconvr PRIVATE REAL_FASTFIR FAST_FILT_UTIL)

add_kissfft_executable(fastconv kiss_fastfir.c)
target_compile_definitions(fastconv PRIVATE FAST_FILT_UTIL)

add_kissfft_executable(fft fftutil.c kiss_fftnd.c kiss_fftr.c kiss_fftndr.c)
add_kissfft_executable(fft fftutil.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)
add_kissfft_executable(psdpng psdpng.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
Expand Down
6 changes: 3 additions & 3 deletions tools/kfc.h
Original file line number Diff line number Diff line change
Expand Up @@ -40,12 +40,12 @@ call kfc_cleanup.
*/

/*forward complex FFT */
void kfc_fft(int nfft, const kiss_fft_cpx * fin,kiss_fft_cpx * fout);
void KISS_FFT_API kfc_fft(int nfft, const kiss_fft_cpx * fin,kiss_fft_cpx * fout);
/*reverse complex FFT */
void kfc_ifft(int nfft, const kiss_fft_cpx * fin,kiss_fft_cpx * fout);
void KISS_FFT_API kfc_ifft(int nfft, const kiss_fft_cpx * fin,kiss_fft_cpx * fout);

/*free all cached objects*/
void kfc_cleanup(void);
void KISS_FFT_API kfc_cleanup(void);

#ifdef __cplusplus
}
Expand Down
4 changes: 2 additions & 2 deletions tools/kiss_fftnd.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ extern "C" {

typedef struct kiss_fftnd_state * kiss_fftnd_cfg;

kiss_fftnd_cfg kiss_fftnd_alloc(const int *dims,int ndims,int inverse_fft,void*mem,size_t*lenmem);
void kiss_fftnd(kiss_fftnd_cfg cfg,const kiss_fft_cpx *fin,kiss_fft_cpx *fout);
kiss_fftnd_cfg KISS_FFT_API kiss_fftnd_alloc(const int *dims,int ndims,int inverse_fft,void*mem,size_t*lenmem);
void KISS_FFT_API kiss_fftnd(kiss_fftnd_cfg cfg,const kiss_fft_cpx *fin,kiss_fft_cpx *fout);

#ifdef __cplusplus
}
Expand Down
6 changes: 3 additions & 3 deletions tools/kiss_fftndr.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,15 @@ extern "C" {
typedef struct kiss_fftndr_state *kiss_fftndr_cfg;


kiss_fftndr_cfg kiss_fftndr_alloc(const int *dims,int ndims,int inverse_fft,void*mem,size_t*lenmem);
kiss_fftndr_cfg KISS_FFT_API kiss_fftndr_alloc(const int *dims,int ndims,int inverse_fft,void*mem,size_t*lenmem);
/*
dims[0] must be even
If you don't care to allocate space, use mem = lenmem = NULL
*/


void kiss_fftndr(
void KISS_FFT_API kiss_fftndr(
kiss_fftndr_cfg cfg,
const kiss_fft_scalar *timedata,
kiss_fft_cpx *freqdata);
Expand All @@ -37,7 +37,7 @@ void kiss_fftndr(
output freqdata has dims[0] X dims[1] X ... X dims[ndims-1]/2+1 complex points
*/

void kiss_fftndri(
void KISS_FFT_API kiss_fftndri(
kiss_fftndr_cfg cfg,
const kiss_fft_cpx *freqdata,
kiss_fft_scalar *timedata);
Expand Down
6 changes: 3 additions & 3 deletions tools/kiss_fftr.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,21 +26,21 @@ extern "C" {
typedef struct kiss_fftr_state *kiss_fftr_cfg;


kiss_fftr_cfg kiss_fftr_alloc(int nfft,int inverse_fft,void * mem, size_t * lenmem);
kiss_fftr_cfg KISS_FFT_API kiss_fftr_alloc(int nfft,int inverse_fft,void * mem, size_t * lenmem);
/*
nfft must be even
If you don't care to allocate space, use mem = lenmem = NULL
*/


void kiss_fftr(kiss_fftr_cfg cfg,const kiss_fft_scalar *timedata,kiss_fft_cpx *freqdata);
void KISS_FFT_API kiss_fftr(kiss_fftr_cfg cfg,const kiss_fft_scalar *timedata,kiss_fft_cpx *freqdata);
/*
input timedata has nfft scalar points
output freqdata has nfft/2+1 complex points
*/

void kiss_fftri(kiss_fftr_cfg cfg,const kiss_fft_cpx *freqdata,kiss_fft_scalar *timedata);
void KISS_FFT_API kiss_fftri(kiss_fftr_cfg cfg,const kiss_fft_cpx *freqdata,kiss_fft_scalar *timedata);
/*
input freqdata has nfft/2+1 complex points
output timedata has nfft scalar points
Expand Down

0 comments on commit d11f1a8

Please sign in to comment.