if (NOT DEFINED KISSFFT_SCALAR_TYPE) set(KISSFFT_SCALAR_TYPE "double") endif () set(sources kiss_fft.c tools/kiss_fastfir.c tools/kiss_fftnd.c tools/kiss_fftndr.c tools/kiss_fftr.c) set(headers kiss_fft_exports.h _kiss_fft_guts.h kiss_fft.h tools/kfc.h tools/kiss_fftnd.h tools/kiss_fftndr.h tools/kiss_fftr.h tools/vtkkissfft_fftnd.h tools/vtkkissfft_fftndr.h tools/vtkkissfft_fftr.h vtkkissfft_fft.h vtk_kiss_fft_mangle.h) vtk_module_add_module(VTK::kissfft SOURCES ${sources} HEADERS ${headers} HEADER_DIRECTORIES HEADERS_SUBDIR "vtkkissfft") target_compile_definitions(kissfft PUBLIC "kiss_fft_scalar=${KISSFFT_SCALAR_TYPE}") if (WIN32 AND BUILD_SHARED_LIBS) target_compile_definitions(kissfft PRIVATE KISSFFT_DLL_EXPORT=1 INTERFACE KISSFFT_DLL_IMPORT=1) endif () target_include_directories(kissfft PRIVATE "$") if (UNIX) vtk_module_link(VTK::kissfft PRIVATE m) endif ()