Skip to content

Commit b2cb0da

Browse files
authored
[itk] Revise, test, fix (#41525)
1 parent 8cbab05 commit b2cb0da

23 files changed

+1065
-1214
lines changed

ports/itk/dependencies.diff

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
diff --git a/CMake/ITKConfig.cmake.in b/CMake/ITKConfig.cmake.in
2+
index 7a77ae3..6a565e8 100644
3+
--- a/CMake/ITKConfig.cmake.in
4+
+++ b/CMake/ITKConfig.cmake.in
5+
@@ -1,3 +1,8 @@
6+
+include(CMakeFindDependencyMacro)
7+
+find_dependency(double-conversion CONFIG)
8+
+find_dependency(OpenJPEG CONFIG)
9+
+find_dependency(VXL CONFIG)
10+
+include("${VXL_CMAKE_DIR}/UseVXL.cmake")
11+
#-----------------------------------------------------------------------------
12+
#
13+
# ITKConfig.cmake - ITK CMake configuration file for external projects.
14+
diff --git a/CMake/itkOpenCL.cmake b/CMake/itkOpenCL.cmake
15+
index 21aab8c..f2bf8ae 100644
16+
--- a/CMake/itkOpenCL.cmake
17+
+++ b/CMake/itkOpenCL.cmake
18+
@@ -1,5 +1,7 @@
19+
if(ITK_USE_GPU)
20+
find_package(OpenCL REQUIRED)
21+
+ set(OPENCL_INCLUDE_DIRS "${OpenCL_INCLUDE_DIRS}")
22+
+ set(OPENCL_LIBRARIES "${OpenCL_LIBRARIES}")
23+
if(NOT ${OPENCL_FOUND})
24+
message(FATAL "Could not find OpenCL")
25+
endif()
26+
diff --git a/Modules/ThirdParty/DoubleConversion/CMakeLists.txt b/Modules/ThirdParty/DoubleConversion/CMakeLists.txt
27+
index 135c1d3..f644a32 100644
28+
--- a/Modules/ThirdParty/DoubleConversion/CMakeLists.txt
29+
+++ b/Modules/ThirdParty/DoubleConversion/CMakeLists.txt
30+
@@ -7,9 +7,9 @@ option(ITK_USE_SYSTEM_DOUBLECONVERSION
31+
mark_as_advanced(ITK_USE_SYSTEM_DOUBLECONVERSION)
32+
33+
if(ITK_USE_SYSTEM_DOUBLECONVERSION)
34+
- find_package(double-conversion 3.1.6 REQUIRED)
35+
+ find_package(double-conversion 3.1.6 REQUIRED GLOBAL)
36+
get_target_property(ITKDoubleConversion_INCLUDE_DIRS double-conversion::double-conversion INTERFACE_INCLUDE_DIRECTORIES)
37+
- get_target_property(ITKDoubleConversion_LIBRARIES double-conversion::double-conversion LOCATION)
38+
+ set(ITKDoubleConversion_LIBRARIES double-conversion::double-conversion)
39+
else()
40+
set(ITKDoubleConversion_INCLUDE_DIRS
41+
${ITKDoubleConversion_SOURCE_DIR}/src
42+
diff --git a/Modules/ThirdParty/Eigen3/CMakeLists.txt b/Modules/ThirdParty/Eigen3/CMakeLists.txt
43+
index 8dbbb86..428d335 100644
44+
--- a/Modules/ThirdParty/Eigen3/CMakeLists.txt
45+
+++ b/Modules/ThirdParty/Eigen3/CMakeLists.txt
46+
@@ -88,7 +88,7 @@ find_package(${_Eigen3_SYSTEM_OR_INTERNAL} ${_Eigen3_min_version} REQUIRED CONFI
47+
# Eigen3 targets are not installed if ITK_USE_SYSTEM_EIGEN==True
48+
itk_module_impl()
49+
50+
-configure_file(src/itk_eigen.h.in src/itk_eigen.h)
51+
+configure_file(src/itk_eigen.h.in src/itk_eigen.h @ONLY)
52+
install(FILES ${ITKEigen3_BINARY_DIR}/src/itk_eigen.h
53+
DESTINATION ${ITKEigen3_INSTALL_INCLUDE_DIR}
54+
COMPONENT Development
55+
diff --git a/Modules/ThirdParty/OpenJPEG/CMakeLists.txt b/Modules/ThirdParty/OpenJPEG/CMakeLists.txt
56+
index 103eaa9..b59eb81 100644
57+
--- a/Modules/ThirdParty/OpenJPEG/CMakeLists.txt
58+
+++ b/Modules/ThirdParty/OpenJPEG/CMakeLists.txt
59+
@@ -1,12 +1,19 @@
60+
project(ITKOpenJPEG)
61+
set(ITKOpenJPEG_THIRD_PARTY 1)
62+
63+
+if(ITK_USE_SYSTEM_OpenJPEG)
64+
+ find_package(OpenJPEG CONFIG REQUIRED GLOBAL)
65+
+ set(ITKOpenJPEG_INCLUDE_DIRS "")
66+
+ set(ITKOpenJPEG_LIBRARIES $<TARGET_NAME:openjp2>)
67+
+ set(ITKOpenJPEG_NO_SRC 1)
68+
+else()
69+
set(ITKOpenJPEG_INCLUDE_DIRS
70+
${ITKOpenJPEG_BINARY_DIR}/src/openjpeg
71+
${ITKOpenJPEG_SOURCE_DIR}/src/openjpeg
72+
)
73+
set(ITKOpenJPEG_LIBRARIES itkopenjpeg)
74+
set(ITK_LIBRARY_PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS FALSE)
75+
+endif()
76+
77+
itk_module_impl()
78+
79+
diff --git a/Modules/ThirdParty/VNL/CMakeLists.txt b/Modules/ThirdParty/VNL/CMakeLists.txt
80+
index c379a24..6a15432 100644
81+
--- a/Modules/ThirdParty/VNL/CMakeLists.txt
82+
+++ b/Modules/ThirdParty/VNL/CMakeLists.txt
83+
@@ -5,7 +5,7 @@ option(ITK_USE_SYSTEM_VXL "Use an outside build of VXL." OFF)
84+
mark_as_advanced(ITK_USE_SYSTEM_VXL)
85+
86+
if(ITK_USE_SYSTEM_VXL)
87+
- find_package(VXL 3.0.0 REQUIRED)
88+
+ find_package(VXL 3.0.0 REQUIRED GLOBAL)
89+
# 3.0.0 is the first version of VXL that supports
90+
# the requirement of front() and back() members
91+
# in the vnl_vector and vnl_vector_fixed.
92+
@@ -17,7 +17,8 @@ if(ITK_USE_SYSTEM_VXL)
93+
${VXL_CORE_INCLUDE_DIR}
94+
)
95+
set(ITKVNL_LIBRARIES vnl_algo vnl v3p_netlib netlib vcl)
96+
- set(ITKVNL_SYSTEM_LIBRARY_DIRS "${VXL_LIBRARY_DIR}")
97+
+ list(TRANSFORM ITKVNL_LIBRARIES REPLACE "^(.+)\$" "\$<TARGET_NAME:\\1>")
98+
+ set(ITKVNL_SYSTEM_LIBRARY_DIRS "")
99+
set(ITKVNL_NO_SRC 1)
100+
else()
101+

ports/itk/double-conversion.patch

Lines changed: 0 additions & 22 deletions
This file was deleted.

ports/itk/fftw.diff

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
diff --git a/CMake/FindFFTW.cmake b/CMake/FindFFTW.cmake
2+
index 709c0cd..64baa8e 100644
3+
--- a/CMake/FindFFTW.cmake
4+
+++ b/CMake/FindFFTW.cmake
5+
@@ -30,7 +30,27 @@
6+
## to set the initial value of the CMake variable `MKLROOT` (see
7+
## https://software.intel.com/en-us/mkl-linux-developer-guide-scripts-to-set-environment-variables).
8+
9+
-if(ITK_USE_FFTWD OR ITK_USE_FFTWF)
10+
+set(FFTW_INCLUDE "")
11+
+if(ITK_USE_CUFFTW)
12+
+ find_package(CUDAToolkit REQUIRED)
13+
+ find_path(CUFFTW_INCLUDE_PATH cufftw.h PATHS ${CUDAToolkit_INCLUDE_DIRS} NO_DEFAULT_PATH REQUIRED)
14+
+ set(FFTW_INCLUDE ${CUFFTW_INCLUDE_PATH})
15+
+ set(FFTWD_LIBRARIES CUDA::cufftw)
16+
+ set(FFTWD_FOUND 1)
17+
+ set(FFTWF_LIBRARIES CUDA::cufftw)
18+
+ set(FFTWF_FOUND 1)
19+
+elseif(ITK_USE_FFTWD OR ITK_USE_FFTWF)
20+
+ find_path(FFTW_INCLUDE_PATH fftw3.h REQUIRED)
21+
+ set(FFTW_INCLUDE ${CUFFTW_INCLUDE_PATH})
22+
+ if(ITK_USE_FFTWD)
23+
+ find_package(FFTWD NAMES FFTW3 CONFIG REQUIRED)
24+
+ set(FFTWD_LIBRARIES FFTW3::fftw3)
25+
+ endif()
26+
+ if(ITK_USE_FFTWF)
27+
+ find_package(FFTWF NAMES FFTW3f CONFIG REQUIRED)
28+
+ set(FFTWF_LIBRARIES FFTW3::fftw3f)
29+
+ endif()
30+
+elseif(0)
31+
32+
if(ITK_USE_MKL)
33+
# If the user has provided the MKL include path then search nearby for library files
34+
diff --git a/CMake/ITKConfig.cmake.in b/CMake/ITKConfig.cmake.in
35+
index 9066d4f..4ec0266 100644
36+
--- a/CMake/ITKConfig.cmake.in
37+
+++ b/CMake/ITKConfig.cmake.in
38+
@@ -3,6 +3,16 @@ include(CMakeFindDependencyMacro)
39+
find_dependency(OpenJPEG CONFIG)
40+
find_dependency(VXL CONFIG)
41+
include("${VXL_CMAKE_DIR}/UseVXL.cmake")
42+
+if("@ITK_USE_CUFFTW@")
43+
+ find_dependency(CUDAToolkit)
44+
+else()
45+
+ if("@ITK_USE_FFTWD@")
46+
+ find_dependency(FFTW3 CONFIG)
47+
+ endif()
48+
+ if("@ITK_USE_FFTWF@")
49+
+ find_dependency(FFTW3f CONFIG)
50+
+ endif()
51+
+endif()
52+
#-----------------------------------------------------------------------------
53+
#
54+
# ITKConfig.cmake - ITK CMake configuration file for external projects.
55+
diff --git a/Modules/Filtering/FFT/src/CMakeLists.txt b/Modules/Filtering/FFT/src/CMakeLists.txt
56+
index 83b176c..b51bc48 100644
57+
--- a/Modules/Filtering/FFT/src/CMakeLists.txt
58+
+++ b/Modules/Filtering/FFT/src/CMakeLists.txt
59+
@@ -10,6 +10,9 @@ endif()
60+
itk_module_add_library(ITKFFT ${ITKFFT_SRCS})
61+
62+
# this library is only needed if FFTW is used
63+
+if(ITK_USE_CUFFTW)
64+
+ target_link_libraries(ITKFFT LINK_PUBLIC CUDA::cufftw)
65+
+endif()
66+
if(ITK_USE_FFTWF
67+
OR ITK_USE_FFTWD
68+
AND NOT ITK_USE_CUFFTW)

ports/itk/opencl.patch

Lines changed: 0 additions & 156 deletions
This file was deleted.

0 commit comments

Comments
 (0)