diff options
Diffstat (limited to 'vcpkg/ports/itk/fftw.diff')
| -rw-r--r-- | vcpkg/ports/itk/fftw.diff | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/vcpkg/ports/itk/fftw.diff b/vcpkg/ports/itk/fftw.diff new file mode 100644 index 0000000..6d397e2 --- /dev/null +++ b/vcpkg/ports/itk/fftw.diff @@ -0,0 +1,68 @@ +diff --git a/CMake/FindFFTW.cmake b/CMake/FindFFTW.cmake +index 709c0cd..64baa8e 100644 +--- a/CMake/FindFFTW.cmake ++++ b/CMake/FindFFTW.cmake +@@ -30,7 +30,27 @@ + ## to set the initial value of the CMake variable `MKLROOT` (see + ## https://software.intel.com/en-us/mkl-linux-developer-guide-scripts-to-set-environment-variables). + +-if(ITK_USE_FFTWD OR ITK_USE_FFTWF) ++set(FFTW_INCLUDE "") ++if(ITK_USE_CUFFTW) ++ find_package(CUDAToolkit REQUIRED) ++ find_path(CUFFTW_INCLUDE_PATH cufftw.h PATHS ${CUDAToolkit_INCLUDE_DIRS} NO_DEFAULT_PATH REQUIRED) ++ set(FFTW_INCLUDE ${CUFFTW_INCLUDE_PATH}) ++ set(FFTWD_LIBRARIES CUDA::cufftw) ++ set(FFTWD_FOUND 1) ++ set(FFTWF_LIBRARIES CUDA::cufftw) ++ set(FFTWF_FOUND 1) ++elseif(ITK_USE_FFTWD OR ITK_USE_FFTWF) ++ find_path(FFTW_INCLUDE_PATH fftw3.h REQUIRED) ++ set(FFTW_INCLUDE ${CUFFTW_INCLUDE_PATH}) ++ if(ITK_USE_FFTWD) ++ find_package(FFTWD NAMES FFTW3 CONFIG REQUIRED) ++ set(FFTWD_LIBRARIES FFTW3::fftw3) ++ endif() ++ if(ITK_USE_FFTWF) ++ find_package(FFTWF NAMES FFTW3f CONFIG REQUIRED) ++ set(FFTWF_LIBRARIES FFTW3::fftw3f) ++ endif() ++elseif(0) + + if(ITK_USE_MKL) + # If the user has provided the MKL include path then search nearby for library files +diff --git a/CMake/ITKConfig.cmake.in b/CMake/ITKConfig.cmake.in +index 9066d4f..4ec0266 100644 +--- a/CMake/ITKConfig.cmake.in ++++ b/CMake/ITKConfig.cmake.in +@@ -3,6 +3,16 @@ include(CMakeFindDependencyMacro) + find_dependency(OpenJPEG CONFIG) + find_dependency(VXL CONFIG) + include("${VXL_CMAKE_DIR}/UseVXL.cmake") ++if("@ITK_USE_CUFFTW@") ++ find_dependency(CUDAToolkit) ++else() ++ if("@ITK_USE_FFTWD@") ++ find_dependency(FFTW3 CONFIG) ++ endif() ++ if("@ITK_USE_FFTWF@") ++ find_dependency(FFTW3f CONFIG) ++ endif() ++endif() + #----------------------------------------------------------------------------- + # + # ITKConfig.cmake - ITK CMake configuration file for external projects. +diff --git a/Modules/Filtering/FFT/src/CMakeLists.txt b/Modules/Filtering/FFT/src/CMakeLists.txt +index 83b176c..b51bc48 100644 +--- a/Modules/Filtering/FFT/src/CMakeLists.txt ++++ b/Modules/Filtering/FFT/src/CMakeLists.txt +@@ -10,6 +10,9 @@ endif() + itk_module_add_library(ITKFFT ${ITKFFT_SRCS}) + + # this library is only needed if FFTW is used ++if(ITK_USE_CUFFTW) ++ target_link_libraries(ITKFFT LINK_PUBLIC CUDA::cufftw) ++endif() + if(ITK_USE_FFTWF + OR ITK_USE_FFTWD + AND NOT ITK_USE_CUFFTW) |