From 527b33c90820ade9407fd2fbd4da8e015274c7bc Mon Sep 17 00:00:00 2001
From: Guillaume Pasero <guillaume.pasero@c-s.fr>
Date: Fri, 20 Mar 2015 17:28:02 +0100
Subject: [PATCH] ENH: detect required ITK modules

---
 Modules/ThirdParty/ITK/otb-module-init.cmake | 85 +++++++++++++++++++-
 1 file changed, 83 insertions(+), 2 deletions(-)

diff --git a/Modules/ThirdParty/ITK/otb-module-init.cmake b/Modules/ThirdParty/ITK/otb-module-init.cmake
index 3c45ad0ba7..0cf743e22e 100644
--- a/Modules/ThirdParty/ITK/otb-module-init.cmake
+++ b/Modules/ThirdParty/ITK/otb-module-init.cmake
@@ -1,5 +1,86 @@
-find_package ( ITK REQUIRED )
-# TODO : ensure all necessary modules are enabled with COMPONENTS
+set(OTBITK_ITK_REQUIRED_MODULE_LIST 
+    ITKCommon
+    ITKFiniteDifference
+    ITKGPUCommon
+    ITKGPUFiniteDifference
+    ITKImageAdaptors
+    ITKImageFunction
+    ITKMesh
+    ITKQuadEdgeMesh
+    ITKSpatialObjects
+    #ITKTestKernel
+    ITKTransform
+
+    ITKAnisotropicSmoothing
+    ITKAntiAlias
+    ITKBiasCorrection
+    ITKBinaryMathematicalMorphology
+    ITKColormap
+    ITKConvolution
+    ITKCurvatureFlow
+    ITKDeconvolution
+    ITKDenoising
+    #ITKDiffusionTensorImage
+    ITKDisplacementField
+    ITKDistanceMap
+    ITKFastMarching
+    ITKFFT
+    ITKGPUAnisotropicSmoothing
+    ITKGPUImageFilterBase
+    ITKGPUSmoothing
+    ITKGPUThresholding
+    ITKImageCompare
+    ITKImageCompose
+    ITKImageFeature
+    ITKImageFilterBase
+    ITKImageFusion
+    ITKImageGradient
+    ITKImageGrid
+    ITKImageIntensity
+    ITKImageLabel
+    ITKImageSources
+    ITKImageStatistics
+    ITKLabelMap
+    ITKMathematicalMorphology
+    ITKPath
+    ITKQuadEdgeMeshFiltering
+    ITKSmoothing
+    ITKSpatialFunction
+    ITKThresholding
+
+    ITKEigen
+    #ITKFEM
+    ITKNarrowBand
+    ITKNeuralNetworks
+    ITKOptimizers
+    ITKOptimizersv4
+    ITKPolynomials
+    ITKStatistics
+
+    ITKRegistrationCommon
+    #ITKFEMRegistration
+    ITKGPURegistrationCommon
+    ITKGPUPDEDeformableRegistration
+    ITKMetricsv4
+    ITKPDEDeformableRegistration
+    ITKRegistrationMethodsv4
+
+    #ITKBioCell
+    ITKClassifiers
+    ITKConnectedComponents
+    ITKDeformableMesh
+    ITKKLMRegionGrowing
+    ITKLabelVoting
+    ITKLevelSets
+    ITKLevelSetsv4
+    #ITKLevelSetsv4Visualization
+    ITKMarkovRandomFieldsClassifiers
+    ITKRegionGrowing
+    ITKSignedDistanceFunction
+    ITKVoronoi
+    ITKWatersheds)
+
+find_package ( ITK COMPONENTS ${OTBITK_ITK_REQUIRED_MODULE_LIST})
 
 # set ( ITK_NO_IO_FACTORY_REGISTER_MANAGER TRUE )
 # include (${ITK_USE_FILE})
-- 
GitLab