From 133409e9f7d8e9060ede20a5a0b24a142104a2ed Mon Sep 17 00:00:00 2001
From: Julien Michel <julien.michel@orfeo-toolbox.org>
Date: Tue, 24 Feb 2015 17:19:43 +0100
Subject: [PATCH] COMP: Automatic updated of modules dependencies

---
 .../Adapters/CurlAdapters/otb-module.cmake    |  8 +++--
 .../Adapters/GdalAdapters/otb-module.cmake    |  9 +++---
 .../Adapters/OSSIMAdapters/otb-module.cmake   | 17 +++++++----
 .../OpenThreadsAdapters/otb-module.cmake      | 10 +++----
 .../AppClassification/otb-module.cmake        | 10 +++----
 Modules/Applications/AppEdge/otb-module.cmake | 12 ++++----
 .../AppFiltering/otb-module.cmake             |  8 +++--
 .../Applications/AppFusion/otb-module.cmake   | 12 ++++----
 .../AppImageUtils/otb-module.cmake            | 20 ++++++-------
 .../Applications/AppMoments/otb-module.cmake  |  8 +++--
 .../AppMorphology/otb-module.cmake            | 10 ++++---
 .../AppOpticalCalibration/otb-module.cmake    | 12 ++++----
 .../AppProjection/otb-module.cmake            | 10 ++++---
 .../AppSegmentation/otb-module.cmake          | 30 ++++++++++---------
 .../Applications/AppStereo/otb-module.cmake   |  8 +++--
 .../Applications/AppTextures/otb-module.cmake | 10 ++++---
 .../AppVectorUtils/otb-module.cmake           | 10 ++++---
 Modules/Core/Common/otb-module.cmake          |  7 +++--
 Modules/Core/ImageBase/otb-module.cmake       | 17 +++++++----
 Modules/Core/Interpolation/otb-module.cmake   | 11 +++----
 Modules/Core/LabelMap/otb-module.cmake        | 12 ++++++--
 Modules/Core/Metadata/otb-module.cmake        | 14 +++++----
 Modules/Core/ObjectList/otb-module.cmake      |  8 ++---
 Modules/Core/PointSet/otb-module.cmake        | 14 +++++----
 Modules/Core/SpatialObjects/otb-module.cmake  | 10 +++++--
 Modules/Core/Streaming/otb-module.cmake       | 12 ++++----
 Modules/Core/Transform/otb-module.cmake       | 17 +++++++----
 Modules/Core/VectorDataBase/otb-module.cmake  | 12 ++++----
 .../Detection/CloudDetection/otb-module.cmake | 10 +++++--
 .../ObjectDetection/otb-module.cmake          | 13 ++++----
 .../Detection/RoadExtraction/otb-module.cmake | 10 +++++--
 Modules/Detection/UrbanArea/otb-module.cmake  | 13 ++++----
 Modules/Feature/Corner/otb-module.cmake       | 12 +++++---
 Modules/Feature/Density/otb-module.cmake      | 10 +++++--
 Modules/Feature/Descriptors/otb-module.cmake  | 11 +++++--
 Modules/Feature/Edge/otb-module.cmake         | 12 +++++---
 Modules/Feature/Moments/otb-module.cmake      | 15 ++++++----
 Modules/Feature/SeamCarving/otb-module.cmake  |  9 ++++--
 Modules/Feature/Textures/otb-module.cmake     | 10 +++++--
 .../ChangeDetection/otb-module.cmake          | 14 +++++----
 Modules/Filtering/ColorMap/otb-module.cmake   | 11 +++++--
 .../Filtering/Convolution/otb-module.cmake    | 10 +++++--
 .../DimensionalityReduction/otb-module.cmake  | 13 ++++----
 .../ImageManipulation/otb-module.cmake        |  9 ++++--
 Modules/Filtering/ImageNoise/otb-module.cmake | 10 +++++--
 Modules/Filtering/MathParser/otb-module.cmake | 14 ++++++---
 .../MorphologicalPyramid/otb-module.cmake     | 11 ++++---
 Modules/Filtering/Path/otb-module.cmake       | 11 ++++---
 .../Filtering/Polarimetry/otb-module.cmake    | 10 +++++--
 Modules/Filtering/Projection/otb-module.cmake | 10 +++++--
 Modules/Filtering/Smoothing/otb-module.cmake  |  9 ++++--
 Modules/Filtering/Statistics/otb-module.cmake | 12 +++++---
 .../VectorDataManipulation/otb-module.cmake   | 19 +++++++-----
 .../VectorDataRendering/otb-module.cmake      | 17 +++++++----
 Modules/Filtering/Wavelet/otb-module.cmake    | 12 +++++---
 Modules/Fusion/Fuzzy/otb-module.cmake         |  8 +++--
 .../Fusion/MajorityVoting/otb-module.cmake    | 11 ++++---
 Modules/Fusion/PanSharpening/otb-module.cmake | 11 ++++---
 .../AnomalyDetection/otb-module.cmake         | 11 ++++---
 .../EndmembersExtraction/otb-module.cmake     | 11 ++++---
 .../Hyperspectral/Unmixing/otb-module.cmake   | 14 +++++----
 Modules/IO/Carto/otb-module.cmake             | 12 ++++----
 Modules/IO/ExtendedFilename/otb-module.cmake  | 10 +++++--
 Modules/IO/IOBSQ/otb-module.cmake             |  8 +++--
 Modules/IO/IOGDAL/otb-module.cmake            | 11 ++++---
 Modules/IO/IOJPEG2000/otb-module.cmake        | 12 +++++---
 Modules/IO/IOKML/otb-module.cmake             | 12 ++++----
 Modules/IO/IOLUM/otb-module.cmake             |  8 +++--
 Modules/IO/IOMSTAR/otb-module.cmake           |  8 +++--
 Modules/IO/IOMW/otb-module.cmake              |  8 +++--
 Modules/IO/IOONERA/otb-module.cmake           |  8 +++--
 Modules/IO/IORAD/otb-module.cmake             |  8 +++--
 Modules/IO/IOTileMap/otb-module.cmake         | 11 +++++--
 Modules/IO/ImageIO/otb-module.cmake           | 22 +++++++-------
 Modules/IO/KMZWriter/otb-module.cmake         | 16 ++++++----
 Modules/IO/TestKernel/otb-module.cmake        |  8 ++---
 Modules/IO/VectorDataIO/otb-module.cmake      | 13 ++++----
 .../Learning/DempsterShafer/otb-module.cmake  | 14 +++++----
 .../Learning/LearningBase/otb-module.cmake    |  9 ++++--
 Modules/Learning/Markov/otb-module.cmake      | 10 +++++--
 Modules/Learning/SOM/otb-module.cmake         |  9 ++++--
 Modules/Learning/SVMLearning/otb-module.cmake | 13 +++++---
 Modules/Learning/Supervised/otb-module.cmake  |  9 +++++-
 Modules/OBIA/RCC8/otb-module.cmake            | 14 +++++----
 Modules/Radiometry/Indices/otb-module.cmake   | 16 ++++++----
 .../OpticalCalibration/otb-module.cmake       | 10 +++++--
 .../SARCalibration/otb-module.cmake           | 14 +++++----
 .../Radiometry/Simulation/otb-module.cmake    | 22 +++++++++-----
 .../DisparityMap/otb-module.cmake             | 11 +++++--
 .../DisplacementField/otb-module.cmake        |  9 ++++--
 Modules/Registration/Stereo/otb-module.cmake  | 10 +++++--
 Modules/Segmentation/CCOBIA/otb-module.cmake  | 12 ++++++--
 .../Segmentation/Conversion/otb-module.cmake  | 18 ++++++-----
 .../EdisonMeanShift/otb-module.cmake          | 12 +++++---
 .../Segmentation/Labelling/otb-module.cmake   | 11 +++++--
 .../Segmentation/MeanShift/otb-module.cmake   | 10 +++++--
 Modules/Segmentation/Metrics/otb-module.cmake | 10 +++++--
 .../MorphologicalProfiles/otb-module.cmake    | 11 ++++---
 .../OGRProcessing/otb-module.cmake            | 10 +++++--
 .../Segmentation/Watersheds/otb-module.cmake  | 10 +++++--
 .../ApplicationEngine/otb-module.cmake        | 16 ++++++----
 Modules/Wrappers/CommandLine/otb-module.cmake | 11 ++++---
 Modules/Wrappers/QtWidget/otb-module.cmake    | 10 ++++---
 Modules/Wrappers/SWIG/otb-module.cmake        |  7 +++--
 104 files changed, 780 insertions(+), 434 deletions(-)

diff --git a/Modules/Adapters/CurlAdapters/otb-module.cmake b/Modules/Adapters/CurlAdapters/otb-module.cmake
index 107dc5e638..9dfc3f70e3 100644
--- a/Modules/Adapters/CurlAdapters/otb-module.cmake
+++ b/Modules/Adapters/CurlAdapters/otb-module.cmake
@@ -1,12 +1,16 @@
 set(DOCUMENTATION "Adapters for the Curl library.")
 
-otb_module(OTBCurlAdapters 
+otb_module(OTBCurlAdapters
   DEPENDS
     OTBCommon
+    OTBITK
+
   OPTIONAL_DEPENDS
     OTBCurl
+
   TEST_DEPENDS
     OTBTestKernel
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Adapters/GdalAdapters/otb-module.cmake b/Modules/Adapters/GdalAdapters/otb-module.cmake
index f0cef93556..199492c6ce 100644
--- a/Modules/Adapters/GdalAdapters/otb-module.cmake
+++ b/Modules/Adapters/GdalAdapters/otb-module.cmake
@@ -1,14 +1,13 @@
 set(DOCUMENTATION "Adapters for the Gdal Library ( for reading and writing  ).")
 
-otb_module(OTBGdalAdapters 
+otb_module(OTBGdalAdapters
   DEPENDS
     OTBBoostAdapters
     OTBBoost
     OTBCommon
     OTBGDAL
-  TEST_DEPENDS
-    OTBTestKernel
-  
+    OTBITK
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Adapters/OSSIMAdapters/otb-module.cmake b/Modules/Adapters/OSSIMAdapters/otb-module.cmake
index c4ea6a6f1f..7efda9ebdd 100644
--- a/Modules/Adapters/OSSIMAdapters/otb-module.cmake
+++ b/Modules/Adapters/OSSIMAdapters/otb-module.cmake
@@ -3,17 +3,22 @@ process imagery, maps, terrain, and vector data). It is used inside OTB for
 several purposes: sensor models (especially RPC), metadata parsers, DEM handlers, and
 so on.")
 
-otb_module(OTBOSSIMAdapters 
+otb_module(OTBOSSIMAdapters
   DEPENDS
-    OTBGDAL
+    OTBOpenThreads
+    OTBITK
     OTBCommon
-    OTBOssim
+    OTBGDAL
     OTBOssimPlugins
-    OTBOpenThreads
+    OTBOssim
+
   TEST_DEPENDS
     OTBTestKernel
+    OTBImageBase
+    OTBImageIO
+    OTBTransform
     OTBProjection
-  
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Adapters/OpenThreadsAdapters/otb-module.cmake b/Modules/Adapters/OpenThreadsAdapters/otb-module.cmake
index dac5e54302..33ea49e6ab 100644
--- a/Modules/Adapters/OpenThreadsAdapters/otb-module.cmake
+++ b/Modules/Adapters/OpenThreadsAdapters/otb-module.cmake
@@ -1,12 +1,12 @@
 set(DOCUMENTATION "Adapters for the OpenThreads library (thread interface for
 C++).")
 
-otb_module(OTBOpenThreadsAdapters 
-  DEPENDS
-    OTBCommon
+otb_module(OTBOpenThreadsAdapters
+
   TEST_DEPENDS
     OTBTestKernel
-  
+    OTBITK
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Applications/AppClassification/otb-module.cmake b/Modules/Applications/AppClassification/otb-module.cmake
index fa8b4d2104..d25f90f553 100644
--- a/Modules/Applications/AppClassification/otb-module.cmake
+++ b/Modules/Applications/AppClassification/otb-module.cmake
@@ -1,6 +1,6 @@
 set(DOCUMENTATION "Classification application.")
 
-otb_module(OTBAppClassification 
+otb_module(OTBAppClassification
   DEPENDS
     OTBVectorDataBase
     OTBConversion
@@ -12,10 +12,10 @@ otb_module(OTBAppClassification
     OTBVectorDataIO
     OTBSOM
     OTBSupervised
-    OTBLearningBase
     OTBApplicationEngine
     OTBIndices
     OTBMathParser
+    OTBITK
     OTBDempsterShafer
     OTBGdalAdapters
     OTBProjection
@@ -26,11 +26,11 @@ otb_module(OTBAppClassification
     OTBImageManipulation
     OTBObjectList
     OTBCommon
-    OTBStreaming
+
   TEST_DEPENDS
     OTBTestKernel
     OTBCommandLine
-  
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Applications/AppEdge/otb-module.cmake b/Modules/Applications/AppEdge/otb-module.cmake
index b20c9a7e1e..a6708d5e44 100644
--- a/Modules/Applications/AppEdge/otb-module.cmake
+++ b/Modules/Applications/AppEdge/otb-module.cmake
@@ -1,18 +1,20 @@
 set(DOCUMENTATION "Edge detection and extraction application (see also Edge
 module).")
 
-otb_module(OTBAppEdge 
+otb_module(OTBAppEdge
   DEPENDS
     OTBStatistics
-    OTBProjection
+    OTBITK
     OTBImageBase
-    OTBEdge
     OTBApplicationEngine
+    OTBEdge
     OTBImageManipulation
+    OTBProjection
+
   TEST_DEPENDS
     OTBTestKernel
     OTBCommandLine
-  
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Applications/AppFiltering/otb-module.cmake b/Modules/Applications/AppFiltering/otb-module.cmake
index 1217278e8b..9ded9bb631 100644
--- a/Modules/Applications/AppFiltering/otb-module.cmake
+++ b/Modules/Applications/AppFiltering/otb-module.cmake
@@ -1,15 +1,17 @@
 set(DOCUMENTATION "Basic filters application.")
 
-otb_module(OTBAppFiltering 
+otb_module(OTBAppFiltering
   DEPENDS
     OTBImageNoise
     OTBImageManipulation
+    OTBITK
     OTBApplicationEngine
     OTBImageBase
+
   TEST_DEPENDS
     OTBTestKernel
     OTBCommandLine
-  
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Applications/AppFusion/otb-module.cmake b/Modules/Applications/AppFusion/otb-module.cmake
index ac26afda4b..54fe75ccac 100644
--- a/Modules/Applications/AppFusion/otb-module.cmake
+++ b/Modules/Applications/AppFusion/otb-module.cmake
@@ -1,16 +1,18 @@
 set(DOCUMENTATION "Fusion of classifications application.")
 
-otb_module(OTBAppFusion 
+otb_module(OTBAppFusion
   DEPENDS
-    OTBImageBase
-    OTBInterpolation
+    OTBITK
     OTBPanSharpening
+    OTBImageBase
     OTBApplicationEngine
     OTBProjection
+    OTBInterpolation
+
   TEST_DEPENDS
     OTBTestKernel
     OTBCommandLine
-  
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Applications/AppImageUtils/otb-module.cmake b/Modules/Applications/AppImageUtils/otb-module.cmake
index 5aaa295188..c9a2be8986 100644
--- a/Modules/Applications/AppImageUtils/otb-module.cmake
+++ b/Modules/Applications/AppImageUtils/otb-module.cmake
@@ -1,28 +1,28 @@
 set(DOCUMENTATION "Image utils and handling application.")
 
-otb_module(OTBAppImageUtils 
+otb_module(OTBAppImageUtils
   DEPENDS
     OTBStatistics
     OTBColorMap
     OTBImageBase
     OTBTransform
-    OTBApplicationEngine
+    OTBKMZWriter
+    OTBImageManipulation
     OTBStreaming
     OTBCarto
-    OTBImageManipulation
+    OTBApplicationEngine
     OTBCurlAdapters
-    OTBProjection
+    OTBITK
     OTBMathParser
     OTBCommon
-    OTBInterpolation
-    OTBKMZWriter
-    OTBOSSIMAdapters
     OTBObjectList
-    OTBStreaming
+    OTBOSSIMAdapters
+    OTBProjection
+
   TEST_DEPENDS
     OTBTestKernel
     OTBCommandLine
-  
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Applications/AppMoments/otb-module.cmake b/Modules/Applications/AppMoments/otb-module.cmake
index c31de6c4d0..db715d3060 100644
--- a/Modules/Applications/AppMoments/otb-module.cmake
+++ b/Modules/Applications/AppMoments/otb-module.cmake
@@ -1,14 +1,16 @@
 set(DOCUMENTATION "Geometric moments (for pattern recognition) application.")
 
-otb_module(OTBAppMoments 
+otb_module(OTBAppMoments
   DEPENDS
     OTBMoments
     OTBImageBase
     OTBApplicationEngine
+    OTBITK
+
   TEST_DEPENDS
     OTBTestKernel
     OTBCommandLine
-  
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Applications/AppMorphology/otb-module.cmake b/Modules/Applications/AppMorphology/otb-module.cmake
index d0383061eb..4f64254c0d 100644
--- a/Modules/Applications/AppMorphology/otb-module.cmake
+++ b/Modules/Applications/AppMorphology/otb-module.cmake
@@ -1,14 +1,16 @@
 set(DOCUMENTATION "Morphomath application.")
 
-otb_module(OTBAppMorphology 
+otb_module(OTBAppMorphology
   DEPENDS
     OTBImageBase
-    OTBApplicationEngine
     OTBObjectList
+    OTBITK
+    OTBApplicationEngine
+
   TEST_DEPENDS
     OTBTestKernel
     OTBCommandLine
-  
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Applications/AppOpticalCalibration/otb-module.cmake b/Modules/Applications/AppOpticalCalibration/otb-module.cmake
index da84204ebd..39a64b2e70 100644
--- a/Modules/Applications/AppOpticalCalibration/otb-module.cmake
+++ b/Modules/Applications/AppOpticalCalibration/otb-module.cmake
@@ -1,15 +1,17 @@
 set(DOCUMENTATION "Optical calibration application.")
 
-otb_module(OTBAppOpticalCalibration 
+otb_module(OTBAppOpticalCalibration
   DEPENDS
     OTBOpticalCalibration
-    OTBProjection
-    OTBApplicationEngine
     OTBImageManipulation
+    OTBITK
+    OTBApplicationEngine
+    OTBProjection
+
   TEST_DEPENDS
     OTBTestKernel
     OTBCommandLine
-  
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Applications/AppProjection/otb-module.cmake b/Modules/Applications/AppProjection/otb-module.cmake
index e206a20f93..00a2efcbd3 100644
--- a/Modules/Applications/AppProjection/otb-module.cmake
+++ b/Modules/Applications/AppProjection/otb-module.cmake
@@ -1,6 +1,6 @@
 set(DOCUMENTATION "Projection application (see also Projection module).")
 
-otb_module(OTBAppProjection 
+otb_module(OTBAppProjection
   DEPENDS
     OTBGdalAdapters
     OTBImageManipulation
@@ -12,12 +12,14 @@ otb_module(OTBAppProjection
     OTBApplicationEngine
     OTBMathParser
     OTBCommon
-    OTBGDAL
     OTBInterpolation
+    OTBGDAL
+    OTBITK
+
   TEST_DEPENDS
     OTBTestKernel
     OTBCommandLine
-  
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Applications/AppSegmentation/otb-module.cmake b/Modules/Applications/AppSegmentation/otb-module.cmake
index f67be5af59..bb33287a44 100644
--- a/Modules/Applications/AppSegmentation/otb-module.cmake
+++ b/Modules/Applications/AppSegmentation/otb-module.cmake
@@ -1,31 +1,33 @@
 set(DOCUMENTATION "Segmentation application.")
 
-otb_module(OTBAppSegmentation 
+otb_module(OTBAppSegmentation
   DEPENDS
     OTBVectorDataBase
-    OTBLabelMap
+    OTBOGRProcessing
     OTBConversion
-    OTBImageManipulation
+    OTBStatistics
     OTBImageIO
-    OTBProjection
-    OTBImageBase
+    OTBITK
+    OTBCCOBIA
     OTBWatersheds
-    OTBGdalAdapters
-    OTBSmoothing
+    OTBTransform
     OTBMetrics
-    OTBOGRProcessing
-    OTBStatistics
+    OTBSmoothing
     OTBMeanShift
+    OTBGdalAdapters
     OTBApplicationEngine
-    OTBCCOBIA
+    OTBImageBase
     OTBMathParser
-    OTBMorphologicalProfiles
-    OTBTransform
     OTBCommon
+    OTBImageManipulation
+    OTBMorphologicalProfiles
+    OTBLabelMap
+    OTBProjection
+
   TEST_DEPENDS
     OTBTestKernel
     OTBCommandLine
-  
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Applications/AppStereo/otb-module.cmake b/Modules/Applications/AppStereo/otb-module.cmake
index b80f8f65ea..1c4d5fe846 100644
--- a/Modules/Applications/AppStereo/otb-module.cmake
+++ b/Modules/Applications/AppStereo/otb-module.cmake
@@ -1,10 +1,11 @@
 set(DOCUMENTATION "Stereo application (see also Stereo module).")
 
-otb_module(OTBAppStereo 
+otb_module(OTBAppStereo
   DEPENDS
     OTBStereo
     OTBStatistics
     OTBImageIO
+    OTBITK
     OTBImageBase
     OTBInterpolation
     OTBTransform
@@ -14,10 +15,11 @@ otb_module(OTBAppStereo
     OTBMathParser
     OTBObjectList
     OTBApplicationEngine
+
   TEST_DEPENDS
     OTBTestKernel
     OTBCommandLine
-  
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Applications/AppTextures/otb-module.cmake b/Modules/Applications/AppTextures/otb-module.cmake
index 827c97f84e..9f0067d79d 100644
--- a/Modules/Applications/AppTextures/otb-module.cmake
+++ b/Modules/Applications/AppTextures/otb-module.cmake
@@ -1,16 +1,18 @@
 set(DOCUMENTATION "Textures application (see also Textures module).")
 
-otb_module(OTBAppTextures 
+otb_module(OTBAppTextures
   DEPENDS
     OTBTextures
+    OTBITK
     OTBImageBase
-    OTBObjectList
     OTBApplicationEngine
     OTBImageManipulation
+    OTBObjectList
+
   TEST_DEPENDS
     OTBTestKernel
     OTBCommandLine
-  
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Applications/AppVectorUtils/otb-module.cmake b/Modules/Applications/AppVectorUtils/otb-module.cmake
index c654796d86..6828cca2f6 100644
--- a/Modules/Applications/AppVectorUtils/otb-module.cmake
+++ b/Modules/Applications/AppVectorUtils/otb-module.cmake
@@ -1,17 +1,19 @@
 set(DOCUMENTATION "VectorUtils application.")
 
-otb_module(OTBAppVectorUtils 
+otb_module(OTBAppVectorUtils
   DEPENDS
     OTBVectorDataBase
     OTBProjection
     OTBVectorDataManipulation
     OTBCarto
-    OTBCommon
     OTBApplicationEngine
+    OTBCommon
+    OTBITK
+
   TEST_DEPENDS
     OTBTestKernel
     OTBCommandLine
-  
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Core/Common/otb-module.cmake b/Modules/Core/Common/otb-module.cmake
index 51a3ba82f1..d8f828b7a0 100644
--- a/Modules/Core/Common/otb-module.cmake
+++ b/Modules/Core/Common/otb-module.cmake
@@ -1,11 +1,14 @@
 set(DOCUMENTATION "TO BE DOCUMENTED")
 
-otb_module(OTBCommon 
+otb_module(OTBCommon
   DEPENDS
-    OTBITKPendingPatches
+    OTBBoost
     OTBITK
+    OTBITKPendingPatches
+
   TEST_DEPENDS
     OTBTestKernel
+
   DESCRIPTION
     "${DOCUMENTATION}"
 )
diff --git a/Modules/Core/ImageBase/otb-module.cmake b/Modules/Core/ImageBase/otb-module.cmake
index 4f55297282..755933c3eb 100644
--- a/Modules/Core/ImageBase/otb-module.cmake
+++ b/Modules/Core/ImageBase/otb-module.cmake
@@ -1,17 +1,24 @@
 set(DOCUMENTATION "This module contains base classes that allow the
 representation of mono- and multiband images.")
 
-otb_module(OTBImageBase 
+otb_module(OTBImageBase
   DEPENDS
-    OTBCommon
+    OTBMetadata
     OTBOSSIMAdapters
+    OTBITK
     OTBITKPendingPatches
-    OTBMetadata
+    OTBCommon
+
   TEST_DEPENDS
+    OTBStatistics
+    OTBImageIO
     OTBMoments
     OTBTestKernel
     OTBDescriptors
-  
+    OTBBoost
+    OTBOssim
+    OTBObjectList
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Core/Interpolation/otb-module.cmake b/Modules/Core/Interpolation/otb-module.cmake
index a235d191ff..f13588502a 100644
--- a/Modules/Core/Interpolation/otb-module.cmake
+++ b/Modules/Core/Interpolation/otb-module.cmake
@@ -1,15 +1,16 @@
 set(DOCUMENTATION "This module contains additional interpolation functions
 (compared to the ones already available in itk -see itk::InterpolateImageFunction-).")
 
-otb_module(OTBInterpolation 
+otb_module(OTBInterpolation
   DEPENDS
     OTBImageBase
-    OTBBoost
     OTBCommon
-    OTBITKPendingPatches
+    OTBITK
+
   TEST_DEPENDS
     OTBTestKernel
-  
+    OTBImageIO
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Core/LabelMap/otb-module.cmake b/Modules/Core/LabelMap/otb-module.cmake
index c872758455..dacc0b6a93 100644
--- a/Modules/Core/LabelMap/otb-module.cmake
+++ b/Modules/Core/LabelMap/otb-module.cmake
@@ -3,14 +3,20 @@ manipulation based on object attributes. They are useful for Object-Based Image
 (OBIA) (analyzing images at the object level instead of working at the pixel
 level).")
 
-otb_module(OTBLabelMap 
+otb_module(OTBLabelMap
   DEPENDS
     OTBVectorDataBase
     OTBCommon
+    OTBITK
+
   TEST_DEPENDS
     OTBTestKernel
+    OTBImageIO
+    OTBProjection
     OTBVectorDataIO
-  
+    OTBVectorDataManipulation
+    OTBImageBase
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Core/Metadata/otb-module.cmake b/Modules/Core/Metadata/otb-module.cmake
index 17eb1e0cfd..afaff0b86e 100644
--- a/Modules/Core/Metadata/otb-module.cmake
+++ b/Modules/Core/Metadata/otb-module.cmake
@@ -2,15 +2,19 @@ set(DOCUMENTATION "This module contains a set of classes that allow parsing
 metadata files from different types of sensor (both optical and radar sensor types
 are supported. for instance: Pleiades, SPOT6, TerraSar, and so on).")
 
-otb_module(OTBMetadata 
+otb_module(OTBMetadata
   DEPENDS
+    OTBObjectList
     OTBBoost
-    OTBCommon
+    OTBITK
     OTBOSSIMAdapters
-    OTBObjectList
+    OTBCommon
+
   TEST_DEPENDS
     OTBTestKernel
-  
+    OTBImageIO
+    OTBImageBase
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Core/ObjectList/otb-module.cmake b/Modules/Core/ObjectList/otb-module.cmake
index 3d9578e5b2..fe1f87cc86 100644
--- a/Modules/Core/ObjectList/otb-module.cmake
+++ b/Modules/Core/ObjectList/otb-module.cmake
@@ -3,11 +3,11 @@ ITK/OTB object list with the appropriate formalism. For instance, it is possible
 apply a given scalar image filter to a list of images. or to produce an output
 corresponding to the elements selected from an image list. and so on.")
 
-otb_module(OTBObjectList 
+otb_module(OTBObjectList
   DEPENDS
     OTBCommon
-  
-  
+    OTBITK
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Core/PointSet/otb-module.cmake b/Modules/Core/PointSet/otb-module.cmake
index 2a7c22396e..677fe3fa45 100644
--- a/Modules/Core/PointSet/otb-module.cmake
+++ b/Modules/Core/PointSet/otb-module.cmake
@@ -6,14 +6,18 @@ will be able to apply a transform to all the points of a PointSet, extract all
 the points of a PointSet that are in a given region, generate a random point set,
 and so on.")
 
-otb_module(OTBPointSet 
+otb_module(OTBPointSet
   DEPENDS
-    OTBCommon
-    OTBInterpolation
     OTBStreaming
+    OTBInterpolation
+    OTBITK
+    OTBCommon
+
   TEST_DEPENDS
     OTBTestKernel
-  
+    OTBImageIO
+    OTBImageBase
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Core/SpatialObjects/otb-module.cmake b/Modules/Core/SpatialObjects/otb-module.cmake
index d75f0550d7..76a702acb2 100644
--- a/Modules/Core/SpatialObjects/otb-module.cmake
+++ b/Modules/Core/SpatialObjects/otb-module.cmake
@@ -8,12 +8,16 @@ Spatial objects are a natural data structure for communicating the results of
 segmentation methods and for introducing geometrical priors in both segmentation and
 registration methods.")
 
-otb_module(OTBSpatialObjects 
+otb_module(OTBSpatialObjects
   DEPENDS
     OTBCommon
+    OTBITK
+
   TEST_DEPENDS
     OTBTestKernel
-  
+    OTBImageIO
+    OTBImageBase
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Core/Streaming/otb-module.cmake b/Modules/Core/Streaming/otb-module.cmake
index 635aa59804..af683101ea 100644
--- a/Modules/Core/Streaming/otb-module.cmake
+++ b/Modules/Core/Streaming/otb-module.cmake
@@ -3,16 +3,18 @@ functionalities: only the data of a particular requested region are produced. Th
 useful when big images must be processed: processing is done piecewise, which prevents
 the system from running out of memory.")
 
-otb_module(OTBStreaming 
+otb_module(OTBStreaming
   DEPENDS
+    OTBITK
+    OTBITKPendingPatches
     OTBImageBase
-    OTBOSSIMAdapters
     OTBCommon
-    OTBITKPendingPatches
+    OTBOSSIMAdapters
     OTBObjectList
+
   TEST_DEPENDS
     OTBTestKernel
-  
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Core/Transform/otb-module.cmake b/Modules/Core/Transform/otb-module.cmake
index f39dfffbea..c58f683860 100644
--- a/Modules/Core/Transform/otb-module.cmake
+++ b/Modules/Core/Transform/otb-module.cmake
@@ -3,17 +3,22 @@ that are more suitable to remote sensing (compared to the ones already available
 itk -see itk::Transform-). this mainly concerns transformations of coordinates
 from any map projection or sensor model to any map projection or sensor model.")
 
-otb_module(OTBTransform 
+otb_module(OTBTransform
   DEPENDS
+    OTBITK
     OTBITKPendingPatches
-    OTBCommon
-    OTBGDAL
-    OTBBoost
     OTBOSSIMAdapters
     OTBInterpolation
+    OTBBoost
+    OTBGDAL
+    OTBCommon
+
   TEST_DEPENDS
     OTBTestKernel
-  
+    OTBImageIO
+    OTBOssim
+    OTBImageBase
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Core/VectorDataBase/otb-module.cmake b/Modules/Core/VectorDataBase/otb-module.cmake
index 52b50667db..457e997385 100644
--- a/Modules/Core/VectorDataBase/otb-module.cmake
+++ b/Modules/Core/VectorDataBase/otb-module.cmake
@@ -1,16 +1,18 @@
 set(DOCUMENTATION "This module contains base classes for representing vector
 data (see also VectorDataIO and VectorDataManipulation modules).")
 
-otb_module(OTBVectorDataBase 
+otb_module(OTBVectorDataBase
   DEPENDS
-    OTBCommon
     OTBOSSIMAdapters
-    OTBGDAL
     OTBObjectList
+    OTBITK
+    OTBGDAL
+    OTBCommon
+
   TEST_DEPENDS
     OTBTestKernel
     OTBVectorDataIO
-  
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Detection/CloudDetection/otb-module.cmake b/Modules/Detection/CloudDetection/otb-module.cmake
index 7d6a8d6e95..2bfd11ac9b 100644
--- a/Modules/Detection/CloudDetection/otb-module.cmake
+++ b/Modules/Detection/CloudDetection/otb-module.cmake
@@ -2,13 +2,17 @@ set(DOCUMENTATION "This module contains classes to estimate and detect clouds.
 The implemented filters rely on the spectral angle principle to measure the
 radiometric gap between a reference pixel and the other pixels of the image.")
 
-otb_module(OTBCloudDetection 
+otb_module(OTBCloudDetection
   DEPENDS
     OTBImageManipulation
     OTBITKPendingPatches
+
   TEST_DEPENDS
     OTBTestKernel
-  
+    OTBImageIO
+    OTBITK
+    OTBImageBase
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Detection/ObjectDetection/otb-module.cmake b/Modules/Detection/ObjectDetection/otb-module.cmake
index 17b0a63cbf..5c266802eb 100644
--- a/Modules/Detection/ObjectDetection/otb-module.cmake
+++ b/Modules/Detection/ObjectDetection/otb-module.cmake
@@ -1,23 +1,26 @@
 set(DOCUMENTATION "This module contains useful classes for object detection.")
 
-otb_module(OTBObjectDetection 
+otb_module(OTBObjectDetection
   DEPENDS
     OTBVectorDataBase
     OTBTextures
     OTBStatistics
+    OTBITK
     OTBMoments
     OTBDescriptors
     OTBStreaming
-    OTBCommon
+    OTBImageManipulation
     OTBImageBase
     OTBObjectList
-    OTBImageManipulation
+    OTBCommon
+
   TEST_DEPENDS
     OTBTestKernel
     OTBIOXML
+    OTBImageIO
     OTBSVMLearning
     OTBVectorDataIO
-  
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Detection/RoadExtraction/otb-module.cmake b/Modules/Detection/RoadExtraction/otb-module.cmake
index 9ba10b516e..36e4ccde22 100644
--- a/Modules/Detection/RoadExtraction/otb-module.cmake
+++ b/Modules/Detection/RoadExtraction/otb-module.cmake
@@ -1,8 +1,9 @@
 set(DOCUMENTATION "Everything users need to extract roads.")
 
-otb_module(OTBRoadExtraction 
+otb_module(OTBRoadExtraction
   DEPENDS
     OTBVectorDataBase
+    OTBITK
     OTBImageBase
     OTBVectorDataManipulation
     OTBImageManipulation
@@ -10,10 +11,13 @@ otb_module(OTBRoadExtraction
     OTBPath
     OTBObjectList
     OTBCommon
+
   TEST_DEPENDS
     OTBTestKernel
+    OTBImageIO
+    OTBProjection
     OTBVectorDataIO
-  
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Detection/UrbanArea/otb-module.cmake b/Modules/Detection/UrbanArea/otb-module.cmake
index b6c86c75d3..7b518c5b50 100644
--- a/Modules/Detection/UrbanArea/otb-module.cmake
+++ b/Modules/Detection/UrbanArea/otb-module.cmake
@@ -1,15 +1,18 @@
 set(DOCUMENTATION "This module is concerned with the detection of urban area.")
 
-otb_module(OTBUrbanArea 
+otb_module(OTBUrbanArea
   DEPENDS
-    OTBIndices
+    OTBStatistics
+    OTBITK
     OTBImageBase
     OTBEdge
-    OTBStatistics
     OTBImageManipulation
+    OTBIndices
+
   TEST_DEPENDS
     OTBTestKernel
-  
+    OTBImageIO
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Feature/Corner/otb-module.cmake b/Modules/Feature/Corner/otb-module.cmake
index f2fde2d7ee..de7a528eab 100644
--- a/Modules/Feature/Corner/otb-module.cmake
+++ b/Modules/Feature/Corner/otb-module.cmake
@@ -2,19 +2,23 @@ set(DOCUMENTATION "This module contains classes that implement classical corner
 detection algorithms (Harris for instance). It also contains classes to detect
 right angle by exploiting the output of a line detection algorithm.")
 
-otb_module(OTBCorner 
+otb_module(OTBCorner
   DEPENDS
     OTBVectorDataBase
+    OTBITK
     OTBDescriptors
     OTBSpatialObjects
     OTBVectorDataManipulation
     OTBPointSet
     OTBImageManipulation
     OTBCommon
+
   TEST_DEPENDS
-    OTBTestKernel
     OTBVectorDataIO
-  
+    OTBTestKernel
+    OTBImageIO
+    OTBImageBase
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Feature/Density/otb-module.cmake b/Modules/Feature/Density/otb-module.cmake
index ecfade7593..5373b8a417 100644
--- a/Modules/Feature/Density/otb-module.cmake
+++ b/Modules/Feature/Density/otb-module.cmake
@@ -4,14 +4,18 @@ keypoints (SIFT or SURF, for instance). Many estimators are implemented
 the total number of pixels within a region). Note that the estimated density can be
 represented as an image or quiered at particular points (function).")
 
-otb_module(OTBDensity 
+otb_module(OTBDensity
   DEPENDS
     OTBPointSet
     OTBCommon
+    OTBITK
+
   TEST_DEPENDS
     OTBDescriptors
     OTBTestKernel
-  
+    OTBImageIO
+    OTBImageBase
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Feature/Descriptors/otb-module.cmake b/Modules/Feature/Descriptors/otb-module.cmake
index 92b42ddb3d..4e755fed33 100644
--- a/Modules/Feature/Descriptors/otb-module.cmake
+++ b/Modules/Feature/Descriptors/otb-module.cmake
@@ -3,18 +3,23 @@ vector of numbers which is invariant to common image transformations. Descriptor
 then compared according to some criterion in order to be matched. This module
 contains different descriptors such as Fourrier-Mellin, SIFT, SURF, HOG, and so on.")
 
-otb_module(OTBDescriptors 
+otb_module(OTBDescriptors
   DEPENDS
     OTBSiftFast
+    OTBITK
     OTBITKPendingPatches
     OTBImageBase
     OTBTransform
     OTBPointSet
     OTBCommon
     OTBObjectList
+
   TEST_DEPENDS
     OTBTestKernel
-  
+    OTBImageIO
+    OTBImageManipulation
+    OTBInterpolation
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Feature/Edge/otb-module.cmake b/Modules/Feature/Edge/otb-module.cmake
index 2966e1ccdd..1e807d351c 100644
--- a/Modules/Feature/Edge/otb-module.cmake
+++ b/Modules/Feature/Edge/otb-module.cmake
@@ -2,7 +2,7 @@ set(DOCUMENTATION "This module contains tools related to edge / line
 extraction. users can find classes that implement tools such as Sobel Detector, Touzi or
 Line Ratio Detector (SAR images), Hough Transform, and so on.")
 
-otb_module(OTBEdge 
+otb_module(OTBEdge
   DEPENDS
     OTBVectorDataBase
     OTBConversion
@@ -13,12 +13,16 @@ otb_module(OTBEdge
     OTBStreaming
     OTBImageManipulation
     OTBPath
-    OTBObjectList
     OTBCommon
+    OTBObjectList
+    OTBITK
+
   TEST_DEPENDS
     OTBTestKernel
+    OTBImageIO
     OTBConvolution
-  
+    OTBVectorDataIO
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Feature/Moments/otb-module.cmake b/Modules/Feature/Moments/otb-module.cmake
index 2f3fa50628..e94fae6348 100644
--- a/Modules/Feature/Moments/otb-module.cmake
+++ b/Modules/Feature/Moments/otb-module.cmake
@@ -3,18 +3,23 @@ pattern recognition. This module contains classes that implement many moments: H
 Flusser, and so on. Note that some of them can be evaluated along a path, instead
 of an image.")
 
-otb_module(OTBMoments 
+otb_module(OTBMoments
   DEPENDS
     OTBVectorDataBase
-    OTBVectorDataManipulation
+    OTBLabelMap
     OTBStatistics
+    OTBITK
     OTBImageBase
-    OTBLabelMap
+    OTBVectorDataManipulation
     OTBCommon
     OTBPath
+
   TEST_DEPENDS
     OTBTestKernel
-  
+    OTBImageIO
+    OTBImageManipulation
+    OTBInterpolation
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Feature/SeamCarving/otb-module.cmake b/Modules/Feature/SeamCarving/otb-module.cmake
index b60c4e6f37..0b313903b4 100644
--- a/Modules/Feature/SeamCarving/otb-module.cmake
+++ b/Modules/Feature/SeamCarving/otb-module.cmake
@@ -3,13 +3,16 @@ carving algorithm published by Shai Avidan, Ariel Shamir, Seam Carving for
 Content-Aware  Resizing, ACM Transactions on Graphics, Volume 26, Number 3, SIGGRAPH
 2007.")
 
-otb_module(OTBSeamCarving 
+otb_module(OTBSeamCarving
   DEPENDS
     OTBPath
     OTBCommon
+    OTBITK
+
   TEST_DEPENDS
     OTBTestKernel
-  
+    OTBImageBase
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Feature/Textures/otb-module.cmake b/Modules/Feature/Textures/otb-module.cmake
index c1cbe963f2..7e76fa5af2 100644
--- a/Modules/Feature/Textures/otb-module.cmake
+++ b/Modules/Feature/Textures/otb-module.cmake
@@ -1,12 +1,16 @@
 set(DOCUMENTATION "This module is concerned with texture analysis.
 Co-occurrence matrix, Haralick are examples of what can be found in this module.")
 
-otb_module(OTBTextures 
+otb_module(OTBTextures
   DEPENDS
     OTBCommon
+    OTBITK
+
   TEST_DEPENDS
     OTBTestKernel
-  
+    OTBImageIO
+    OTBImageBase
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Filtering/ChangeDetection/otb-module.cmake b/Modules/Filtering/ChangeDetection/otb-module.cmake
index 1e4bc39f67..36afaf96f3 100644
--- a/Modules/Filtering/ChangeDetection/otb-module.cmake
+++ b/Modules/Filtering/ChangeDetection/otb-module.cmake
@@ -6,15 +6,19 @@ abrupt changes in an image pair, abrupt changes within an image series and a
 known date, abrupt changes within an image series and an unknown date, progressive
 changes within an image series.")
 
-otb_module(OTBChangeDetection 
+otb_module(OTBChangeDetection
   DEPENDS
-    OTBProjection
+    OTBCommon
     OTBStatistics
+    OTBITK
+    OTBProjection
     OTBImageManipulation
-    OTBCommon
+
   TEST_DEPENDS
     OTBTestKernel
-  
+    OTBImageIO
+    OTBImageBase
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Filtering/ColorMap/otb-module.cmake b/Modules/Filtering/ColorMap/otb-module.cmake
index 420189acfd..47678a7c71 100644
--- a/Modules/Filtering/ColorMap/otb-module.cmake
+++ b/Modules/Filtering/ColorMap/otb-module.cmake
@@ -5,12 +5,17 @@ deformation map, interferogram. In this case, it is important to ensure that sim
 values will get similar colors. This module contains classes that can meet these
 requirements.")
 
-otb_module(OTBColorMap 
+otb_module(OTBColorMap
   DEPENDS
     OTBCommon
+    OTBITK
+
   TEST_DEPENDS
     OTBTestKernel
-  
+    OTBImageIO
+    OTBITKPendingPatches
+    OTBImageBase
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Filtering/Convolution/otb-module.cmake b/Modules/Filtering/Convolution/otb-module.cmake
index e998acf448..5a40b218ff 100644
--- a/Modules/Filtering/Convolution/otb-module.cmake
+++ b/Modules/Filtering/Convolution/otb-module.cmake
@@ -2,12 +2,16 @@ set(DOCUMENTATION "This module contains classes to compute an image which is
 the convolution of the input image with a given kernel. Note that two methods are
 used: classical convolution and convolution based on the Overlap-save algorithm.")
 
-otb_module(OTBConvolution 
+otb_module(OTBConvolution
   DEPENDS
     OTBCommon
+    OTBITK
+
   TEST_DEPENDS
     OTBTestKernel
-  
+    OTBImageIO
+    OTBImageBase
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Filtering/DimensionalityReduction/otb-module.cmake b/Modules/Filtering/DimensionalityReduction/otb-module.cmake
index db68835f8a..526265cb01 100644
--- a/Modules/Filtering/DimensionalityReduction/otb-module.cmake
+++ b/Modules/Filtering/DimensionalityReduction/otb-module.cmake
@@ -5,17 +5,20 @@ Analysis (PCA), Noise-Adjusted Principal Components Analysis (NAPCA), Maximum
 Noise Fraction (MNF), Fast Independant Component Analysis (FICA), Maximum
 Autocorrelation Factor (MAF), and so on.")
 
-otb_module(OTBDimensionalityReduction 
+otb_module(OTBDimensionalityReduction
   DEPENDS
-    OTBImageBase
     OTBStatistics
-    OTBObjectList
+    OTBITK
+    OTBImageBase
     OTBImageManipulation
     OTBCommon
+    OTBObjectList
+
   TEST_DEPENDS
     OTBTestKernel
+    OTBImageIO
     OTBWavelet
-  
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Filtering/ImageManipulation/otb-module.cmake b/Modules/Filtering/ImageManipulation/otb-module.cmake
index 76dd88a2d0..c6e6e77052 100644
--- a/Modules/Filtering/ImageManipulation/otb-module.cmake
+++ b/Modules/Filtering/ImageManipulation/otb-module.cmake
@@ -5,8 +5,9 @@ nice other features, let's mention: applying a standard  (or a functor)  per
 band, evaluating a ImageFunction onto a source image, generating an image from DEM
 data.")
 
-otb_module(OTBImageManipulation 
+otb_module(OTBImageManipulation
   DEPENDS
+    OTBITK
     OTBITKPendingPatches
     OTBImageBase
     OTBTransform
@@ -15,11 +16,13 @@ otb_module(OTBImageManipulation
     OTBInterpolation
     OTBOSSIMAdapters
     OTBObjectList
+
   TEST_DEPENDS
     OTBTextures
     OTBTestKernel
+    OTBImageIO
     OTBDensity
-  
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Filtering/ImageNoise/otb-module.cmake b/Modules/Filtering/ImageNoise/otb-module.cmake
index 6d5c53803b..5856f62035 100644
--- a/Modules/Filtering/ImageNoise/otb-module.cmake
+++ b/Modules/Filtering/ImageNoise/otb-module.cmake
@@ -1,11 +1,15 @@
 set(DOCUMENTATION "This module is related to noise estimation and reduction.")
 
-otb_module(OTBImageNoise 
+otb_module(OTBImageNoise
   DEPENDS
     OTBImageManipulation
+    OTBITK
+
   TEST_DEPENDS
     OTBTestKernel
-  
+    OTBImageIO
+    OTBImageBase
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Filtering/MathParser/otb-module.cmake b/Modules/Filtering/MathParser/otb-module.cmake
index 85afad9fee..2f9dc553ce 100644
--- a/Modules/Filtering/MathParser/otb-module.cmake
+++ b/Modules/Filtering/MathParser/otb-module.cmake
@@ -2,19 +2,25 @@ set(DOCUMENTATION "This module contains filters that can apply any mathematical
 expression to the pixels of an image. Note that classes based on MuParserX have
 better capabilities than the ones based on MuParser.")
 
-otb_module(OTBMathParser 
+otb_module(OTBMathParser
   DEPENDS
     OTBVectorDataBase
-    OTBPath
     OTBMuParser
+    OTBITK
     OTBMuParserX
     OTBStatistics
     OTBCommon
+    OTBPath
     OTBImageManipulation
+
   TEST_DEPENDS
     OTBTestKernel
+    OTBImageIO
+    OTBProjection
     OTBVectorDataIO
-  
+    OTBImageBase
+    OTBObjectList
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Filtering/MorphologicalPyramid/otb-module.cmake b/Modules/Filtering/MorphologicalPyramid/otb-module.cmake
index 612daa118f..27100b0e73 100644
--- a/Modules/Filtering/MorphologicalPyramid/otb-module.cmake
+++ b/Modules/Filtering/MorphologicalPyramid/otb-module.cmake
@@ -5,17 +5,20 @@ down-sampling operation, such a decomposition can be used. The Morphological Pyr
 approach to such a decomposition. This module contains classes useful in meeting
 that goal.")
 
-otb_module(OTBMorphologicalPyramid 
+otb_module(OTBMorphologicalPyramid
   DEPENDS
+    OTBITK
     OTBImageBase
     OTBPointSet
-    OTBObjectList
     OTBImageManipulation
     OTBCommon
+    OTBObjectList
+
   TEST_DEPENDS
     OTBMorphologicalProfiles
+    OTBImageIO
     OTBTestKernel
-  
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Filtering/Path/otb-module.cmake b/Modules/Filtering/Path/otb-module.cmake
index 06a161e9bd..e195caca50 100644
--- a/Modules/Filtering/Path/otb-module.cmake
+++ b/Modules/Filtering/Path/otb-module.cmake
@@ -4,16 +4,19 @@ as input, and producing an output of type Path. another interesting class is
 'otbPathFunction', which is the base class for all objects that evaluate a function
 of an image using a path list (computation of histograms for instance). And so on.")
 
-otb_module(OTBPath 
+otb_module(OTBPath
   DEPENDS
     OTBVectorDataBase
     OTBImageBase
-    OTBCommon
     OTBObjectList
+    OTBITK
+    OTBCommon
+
   TEST_DEPENDS
     OTBTestKernel
+    OTBImageIO
     OTBVectorDataIO
-  
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Filtering/Polarimetry/otb-module.cmake b/Modules/Filtering/Polarimetry/otb-module.cmake
index 8a335f15e9..b69409a21a 100644
--- a/Modules/Filtering/Polarimetry/otb-module.cmake
+++ b/Modules/Filtering/Polarimetry/otb-module.cmake
@@ -5,13 +5,17 @@ applications. Here, the user can find (for instance) classes to handle different
 representations of a polarisation state, to perform polarimetry synthesis, and so
 on.")
 
-otb_module(OTBPolarimetry 
+otb_module(OTBPolarimetry
   DEPENDS
     OTBCommon
     OTBITKPendingPatches
+    OTBITK
+
   TEST_DEPENDS
     OTBTestKernel
-  
+    OTBImageIO
+    OTBImageBase
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Filtering/Projection/otb-module.cmake b/Modules/Filtering/Projection/otb-module.cmake
index d241030875..71cca9a0e4 100644
--- a/Modules/Filtering/Projection/otb-module.cmake
+++ b/Modules/Filtering/Projection/otb-module.cmake
@@ -5,10 +5,11 @@ manifold of a 3-dimensional space (the Earth surface) in a 2-dimensional space
 generically related to this purpose. for instance, user can handle OGR data type, find RPC
 solvers, re-project input vector data over input images, and so on.")
 
-otb_module(OTBProjection 
+otb_module(OTBProjection
   DEPENDS
     OTBVectorDataBase
     OTBGdalAdapters
+    OTBITK
     OTBImageBase
     OTBTransform
     OTBVectorDataManipulation
@@ -18,10 +19,13 @@ otb_module(OTBProjection
     OTBBoost
     OTBGDAL
     OTBCommon
+
   TEST_DEPENDS
     OTBTestKernel
+    OTBImageIO
+    OTBITKPendingPatches
     OTBVectorDataIO
-  
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Filtering/Smoothing/otb-module.cmake b/Modules/Filtering/Smoothing/otb-module.cmake
index b40e0baf24..c376c683ab 100644
--- a/Modules/Filtering/Smoothing/otb-module.cmake
+++ b/Modules/Filtering/Smoothing/otb-module.cmake
@@ -1,13 +1,16 @@
 set(DOCUMENTATION "This module contains classes that allow image smoothing (it
 contains mean shift smoothing for instance).")
 
-otb_module(OTBSmoothing 
+otb_module(OTBSmoothing
   DEPENDS
     OTBImageBase
     OTBCommon
+    OTBITK
+
   TEST_DEPENDS
     OTBTestKernel
-  
+    OTBImageIO
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Filtering/Statistics/otb-module.cmake b/Modules/Filtering/Statistics/otb-module.cmake
index 7dc6657747..7a1e4561cb 100644
--- a/Modules/Filtering/Statistics/otb-module.cmake
+++ b/Modules/Filtering/Statistics/otb-module.cmake
@@ -5,21 +5,25 @@ concatenate several sample lists into a single one, to generate a noised version
 of the input sample list, and so on. The other part works on images and labelMaps
 and allows the calculation of classical statistics (min max mean histogram).")
 
-otb_module(OTBStatistics 
+otb_module(OTBStatistics
   DEPENDS
     OTBVectorDataBase
-    OTBImageManipulation
     OTBProjection
     OTBITKPendingPatches
     OTBImageBase
     OTBLabelMap
     OTBStreaming
+    OTBImageManipulation
     OTBCommon
     OTBObjectList
+    OTBITK
+
   TEST_DEPENDS
     OTBVectorDataIO
     OTBTestKernel
-  
+    OTBImageIO
+    OTBInterpolation
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Filtering/VectorDataManipulation/otb-module.cmake b/Modules/Filtering/VectorDataManipulation/otb-module.cmake
index 96a9680a8b..5afa16ec2f 100644
--- a/Modules/Filtering/VectorDataManipulation/otb-module.cmake
+++ b/Modules/Filtering/VectorDataManipulation/otb-module.cmake
@@ -1,20 +1,23 @@
 set(DOCUMENTATION "This module contains classes related to the handling of
 vector data (see also VectorDataBase and VectorDataManipulation modules).")
 
-otb_module(OTBVectorDataManipulation 
+otb_module(OTBVectorDataManipulation
   DEPENDS
     OTBVectorDataBase
-    OTBImageManipulation
+    OTBITK
     OTBTransform
-    OTBOSSIMAdapters
-    OTBCommon
-    OTBGDAL
+    OTBImageManipulation
     OTBPath
+    OTBCommon
+    OTBOSSIMAdapters
     OTBObjectList
+
   TEST_DEPENDS
-    OTBTestKernel
     OTBVectorDataIO
-  
+    OTBTestKernel
+    OTBImageIO
+    OTBImageBase
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Filtering/VectorDataRendering/otb-module.cmake b/Modules/Filtering/VectorDataRendering/otb-module.cmake
index e1f3ef8e8e..a086a237ae 100644
--- a/Modules/Filtering/VectorDataRendering/otb-module.cmake
+++ b/Modules/Filtering/VectorDataRendering/otb-module.cmake
@@ -1,15 +1,22 @@
 set(DOCUMENTATION "This module contains classes related to the rasterization of
 OpenStreetMap vector data onto images")
 
-otb_module(OTBVectorDataRendering 
+otb_module(OTBVectorDataRendering
   DEPENDS
-    OTBMapnik
-    OTBVectorDataBase
     OTBVectorDataManipulation
+    OTBMapnik
+    OTBITK
+    OTBGDAL
+    OTBCommon
+
   TEST_DEPENDS
+    OTBVectorDataBase
     OTBTestKernel
+    OTBImageIO
+    OTBProjection
     OTBVectorDataIO
-  
+    OTBImageBase
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Filtering/Wavelet/otb-module.cmake b/Modules/Filtering/Wavelet/otb-module.cmake
index cbaaa56ea0..234e859703 100644
--- a/Modules/Filtering/Wavelet/otb-module.cmake
+++ b/Modules/Filtering/Wavelet/otb-module.cmake
@@ -1,13 +1,17 @@
 set(DOCUMENTATION "This module contains classes for wavelet analysis.")
 
-otb_module(OTBWavelet 
+otb_module(OTBWavelet
   DEPENDS
+    OTBImageManipulation
     OTBObjectList
+    OTBITK
     OTBCommon
-    OTBImageManipulation
+
   TEST_DEPENDS
     OTBTestKernel
-  
+    OTBImageIO
+    OTBImageBase
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Fusion/Fuzzy/otb-module.cmake b/Modules/Fusion/Fuzzy/otb-module.cmake
index 53e4c906cf..f7a4c25655 100644
--- a/Modules/Fusion/Fuzzy/otb-module.cmake
+++ b/Modules/Fusion/Fuzzy/otb-module.cmake
@@ -4,13 +4,15 @@ module contains classes able to hold a vector where each component is the
 membership value for each one of the qualitative values. it also contains classes able
 to handle xml files where are stored several statistics.")
 
-otb_module(OTBFuzzy 
+otb_module(OTBFuzzy
   DEPENDS
     OTBCommon
     OTBTinyXML
+    OTBITK
+
   TEST_DEPENDS
     OTBTestKernel
-  
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Fusion/MajorityVoting/otb-module.cmake b/Modules/Fusion/MajorityVoting/otb-module.cmake
index 798604e6ee..bc585bf62a 100644
--- a/Modules/Fusion/MajorityVoting/otb-module.cmake
+++ b/Modules/Fusion/MajorityVoting/otb-module.cmake
@@ -2,12 +2,15 @@ set(DOCUMENTATION "Majority voting takes the more representative label of all
 the pixels identified by the structuring element and then sets the center pixel to
 this label value (see also DempsterShafer module).")
 
-otb_module(OTBMajorityVoting 
+otb_module(OTBMajorityVoting
   DEPENDS
-    OTBCommon
+    OTBITK
+
   TEST_DEPENDS
     OTBTestKernel
-  
+    OTBImageIO
+    OTBImageBase
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Fusion/PanSharpening/otb-module.cmake b/Modules/Fusion/PanSharpening/otb-module.cmake
index 06ee9e85ae..09cad7a108 100644
--- a/Modules/Fusion/PanSharpening/otb-module.cmake
+++ b/Modules/Fusion/PanSharpening/otb-module.cmake
@@ -5,15 +5,18 @@ multispectral (XS) data (lower resolution in several spectral bands) to generate
 with a high resolution and several spectral bands. This module provides classes
 related to this purpose.")
 
-otb_module(OTBPanSharpening 
+otb_module(OTBPanSharpening
   DEPENDS
     OTBImageBase
     OTBStatistics
-    OTBImageManipulation
+    OTBITK
     OTBConvolution
+    OTBImageManipulation
+
   TEST_DEPENDS
     OTBTestKernel
-  
+    OTBImageIO
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Hyperspectral/AnomalyDetection/otb-module.cmake b/Modules/Hyperspectral/AnomalyDetection/otb-module.cmake
index 82826a3ab4..fcdbef81b3 100644
--- a/Modules/Hyperspectral/AnomalyDetection/otb-module.cmake
+++ b/Modules/Hyperspectral/AnomalyDetection/otb-module.cmake
@@ -5,12 +5,15 @@ probabilities. This module contains classes related to well-known approaches for
 detection which have shown success for multispectral and hyperspectral images
 (for example Local-RX detector).")
 
-otb_module(OTBAnomalyDetection 
+otb_module(OTBAnomalyDetection
   DEPENDS
-    OTBCommon
+    OTBITK
+
   TEST_DEPENDS
     OTBTestKernel
-  
+    OTBImageIO
+    OTBImageBase
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Hyperspectral/EndmembersExtraction/otb-module.cmake b/Modules/Hyperspectral/EndmembersExtraction/otb-module.cmake
index 878c0ade6b..f11c3c1778 100644
--- a/Modules/Hyperspectral/EndmembersExtraction/otb-module.cmake
+++ b/Modules/Hyperspectral/EndmembersExtraction/otb-module.cmake
@@ -1,18 +1,21 @@
 set(DOCUMENTATION "This module contains classes related to he extraction of end
 members (see also 'unmixing' module).")
 
-otb_module(OTBEndmembersExtraction 
+otb_module(OTBEndmembersExtraction
   DEPENDS
     OTBStatistics
-    OTBProjection
+    OTBITK
     OTBImageBase
     OTBDimensionalityReduction
     OTBImageManipulation
+    OTBProjection
     OTBBoost
     OTBCommon
+
   TEST_DEPENDS
     OTBTestKernel
-  
+    OTBImageIO
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Hyperspectral/Unmixing/otb-module.cmake b/Modules/Hyperspectral/Unmixing/otb-module.cmake
index 4516792519..6fcd01469c 100644
--- a/Modules/Hyperspectral/Unmixing/otb-module.cmake
+++ b/Modules/Hyperspectral/Unmixing/otb-module.cmake
@@ -5,16 +5,20 @@ unmixing one of these 'mixed' pixels is called hyperspectral image unmixing or
 simply hyperspectral unmixing. This module contains classes useful in meeting that
 goal.")
 
-otb_module(OTBUnmixing 
+otb_module(OTBUnmixing
   DEPENDS
-    OTBDimensionalityReduction
     OTBStatistics
-    OTBBoost
+    OTBITK
+    OTBImageBase
+    OTBDimensionalityReduction
     OTBCommon
+    OTBBoost
     OTBWavelet
+
   TEST_DEPENDS
     OTBTestKernel
-  
+    OTBImageIO
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/IO/Carto/otb-module.cmake b/Modules/IO/Carto/otb-module.cmake
index 1ef197fcdc..2d6d669bfd 100644
--- a/Modules/IO/Carto/otb-module.cmake
+++ b/Modules/IO/Carto/otb-module.cmake
@@ -6,22 +6,24 @@ shapefile). request OSM Server using the OSM API 0.6 to get the xml file storing
 the vector elements available. retrieve Longitude and Latitude coordinates from a
 place name. And so on.")
 
-otb_module(OTBCarto 
+otb_module(OTBCarto
   DEPENDS
     OTBVectorDataBase
+    OTBImageManipulation
     OTBImageIO
     OTBProjection
-    OTBTinyXML
     OTBImageBase
+    OTBTinyXML
     OTBTransform
     OTBCommon
     OTBCurlAdapters
     OTBVectorDataIO
-    OTBImageManipulation
+    OTBITK
+
   TEST_DEPENDS
     OTBOpenThreadsAdapters
     OTBTestKernel
-  
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/IO/ExtendedFilename/otb-module.cmake b/Modules/IO/ExtendedFilename/otb-module.cmake
index abcf4f9349..f9d5aad381 100644
--- a/Modules/IO/ExtendedFilename/otb-module.cmake
+++ b/Modules/IO/ExtendedFilename/otb-module.cmake
@@ -4,13 +4,17 @@ file for sensor modeling, tell  that a TILED GeoTiff is to be written, read a
 different subdataset or resolution (for multi-resolution data), or manage ortho-ready
 product by skipping either geographic or sensor-model information.")
 
-otb_module(OTBExtendedFilename 
+otb_module(OTBExtendedFilename
   DEPENDS
     OTBIOGDAL
     OTBBoost
+    OTBITK
+
   TEST_DEPENDS
     OTBTestKernel
-  
+    OTBImageIO
+    OTBImageBase
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/IO/IOBSQ/otb-module.cmake b/Modules/IO/IOBSQ/otb-module.cmake
index 2ead8663dc..5b86383025 100644
--- a/Modules/IO/IOBSQ/otb-module.cmake
+++ b/Modules/IO/IOBSQ/otb-module.cmake
@@ -1,12 +1,14 @@
 set(DOCUMENTATION "This module contains features to read BSQ format images.")
 
-otb_module(OTBIOBSQ 
+otb_module(OTBIOBSQ
   DEPENDS
     OTBImageBase
     OTBCommon
+    OTBITK
+
   TEST_DEPENDS
     OTBTestKernel
-  
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/IO/IOGDAL/otb-module.cmake b/Modules/IO/IOGDAL/otb-module.cmake
index 7d0c466ebb..98ca5b9712 100644
--- a/Modules/IO/IOGDAL/otb-module.cmake
+++ b/Modules/IO/IOGDAL/otb-module.cmake
@@ -1,19 +1,22 @@
 set(DOCUMENTATION "This module contains features to read and write images with
 GDAL.")
 
-otb_module(OTBIOGDAL 
+otb_module(OTBIOGDAL
   DEPENDS
     OTBVectorDataBase
     OTBGdalAdapters
-    OTBTinyXML
+    OTBITK
     OTBImageBase
     OTBCommon
+    OTBTinyXML
     OTBGDAL
     OTBBoost
     OTBOSSIMAdapters
+
   TEST_DEPENDS
     OTBTestKernel
-  
+    OTBImageIO
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/IO/IOJPEG2000/otb-module.cmake b/Modules/IO/IOJPEG2000/otb-module.cmake
index 56e454533d..50e4d018d1 100644
--- a/Modules/IO/IOJPEG2000/otb-module.cmake
+++ b/Modules/IO/IOJPEG2000/otb-module.cmake
@@ -1,18 +1,22 @@
 set(DOCUMENTATION "This module contains features to read and write JPEG2000
 format images.")
 
-otb_module(OTBIOJPEG2000 
+otb_module(OTBIOJPEG2000
   DEPENDS
-    OTBTinyXML
+    OTBITK
     OTBImageBase
     OTBOSSIMAdapters
     OTBCommon
+    OTBTinyXML
     OTBOpenJPEG
     OTBBoost
     OTBGDAL
+
   TEST_DEPENDS
     OTBTestKernel
-  
+    OTBImageIO
+    OTBImageManipulation
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/IO/IOKML/otb-module.cmake b/Modules/IO/IOKML/otb-module.cmake
index b828709032..165348eb93 100644
--- a/Modules/IO/IOKML/otb-module.cmake
+++ b/Modules/IO/IOKML/otb-module.cmake
@@ -1,17 +1,19 @@
 set(DOCUMENTATION "This module contains features to read and write KML format
 vector data.")
 
-otb_module(OTBIOKML 
+otb_module(OTBIOKML
   DEPENDS
     OTBVectorDataBase
     OTBProjection
     OTBlibkml
-    OTBOSSIMAdapters
-    OTBCommon
     OTBGDAL
+    OTBCommon
+    OTBOSSIMAdapters
+    OTBITK
+
   TEST_DEPENDS
     OTBTestKernel
-  
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/IO/IOLUM/otb-module.cmake b/Modules/IO/IOLUM/otb-module.cmake
index b6f4b2f72a..5efa547ce4 100644
--- a/Modules/IO/IOLUM/otb-module.cmake
+++ b/Modules/IO/IOLUM/otb-module.cmake
@@ -1,12 +1,14 @@
 set(DOCUMENTATION "This module contains features to read LUM format images.")
 
-otb_module(OTBIOLUM 
+otb_module(OTBIOLUM
   DEPENDS
     OTBImageBase
     OTBCommon
+    OTBITK
+
   TEST_DEPENDS
     OTBTestKernel
-  
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/IO/IOMSTAR/otb-module.cmake b/Modules/IO/IOMSTAR/otb-module.cmake
index a93eaf86da..0cb7a5e93b 100644
--- a/Modules/IO/IOMSTAR/otb-module.cmake
+++ b/Modules/IO/IOMSTAR/otb-module.cmake
@@ -1,13 +1,15 @@
 set(DOCUMENTATION "This module contains features to read and write MSTAR format
 images.")
 
-otb_module(OTBIOMSTAR 
+otb_module(OTBIOMSTAR
   DEPENDS
     OTBImageBase
     OTBCommon
+    OTBITK
+
   TEST_DEPENDS
     OTBTestKernel
-  
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/IO/IOMW/otb-module.cmake b/Modules/IO/IOMW/otb-module.cmake
index 02a1501830..bacdf6ca81 100644
--- a/Modules/IO/IOMW/otb-module.cmake
+++ b/Modules/IO/IOMW/otb-module.cmake
@@ -1,12 +1,14 @@
 set(DOCUMENTATION "This module contains features to read MW format images.")
 
-otb_module(OTBIOMW 
+otb_module(OTBIOMW
   DEPENDS
     OTBImageBase
     OTBCommon
+    OTBITK
+
   TEST_DEPENDS
     OTBTestKernel
-  
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/IO/IOONERA/otb-module.cmake b/Modules/IO/IOONERA/otb-module.cmake
index 70d03d1595..e5d172de63 100644
--- a/Modules/IO/IOONERA/otb-module.cmake
+++ b/Modules/IO/IOONERA/otb-module.cmake
@@ -1,12 +1,14 @@
 set(DOCUMENTATION "This module contains features to read ONERA format images.")
 
-otb_module(OTBIOONERA 
+otb_module(OTBIOONERA
   DEPENDS
     OTBImageBase
     OTBCommon
+    OTBITK
+
   TEST_DEPENDS
     OTBTestKernel
-  
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/IO/IORAD/otb-module.cmake b/Modules/IO/IORAD/otb-module.cmake
index 6a3d25c834..5401c283ed 100644
--- a/Modules/IO/IORAD/otb-module.cmake
+++ b/Modules/IO/IORAD/otb-module.cmake
@@ -1,12 +1,14 @@
 set(DOCUMENTATION "This module contains features to read RAD format images.")
 
-otb_module(OTBIORAD 
+otb_module(OTBIORAD
   DEPENDS
     OTBImageBase
     OTBCommon
+    OTBITK
+
   TEST_DEPENDS
     OTBTestKernel
-  
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/IO/IOTileMap/otb-module.cmake b/Modules/IO/IOTileMap/otb-module.cmake
index 9aadbb3101..8faa1022bd 100644
--- a/Modules/IO/IOTileMap/otb-module.cmake
+++ b/Modules/IO/IOTileMap/otb-module.cmake
@@ -1,16 +1,21 @@
 set(DOCUMENTATION "This module contains features to read and write TileMap
 format images.")
 
-otb_module(OTBIOTileMap 
+otb_module(OTBIOTileMap
   DEPENDS
     OTBIOGDAL
     OTBImageBase
     OTBCommon
     OTBCurlAdapters
+    OTBITK
+
   TEST_DEPENDS
+    OTBTransform
     OTBTestKernel
+    OTBImageIO
+    OTBImageManipulation
     OTBProjection
-  
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/IO/ImageIO/otb-module.cmake b/Modules/IO/ImageIO/otb-module.cmake
index 175520fbd4..a4ea2c09eb 100644
--- a/Modules/IO/ImageIO/otb-module.cmake
+++ b/Modules/IO/ImageIO/otb-module.cmake
@@ -1,29 +1,31 @@
 set(DOCUMENTATION "This module contains classes related to the reading and the
 writing of remote sensing images.")
 
-otb_module(OTBImageIO 
+otb_module(OTBImageIO
   DEPENDS
+    OTBIOMW
     OTBIORAD
-    OTBIOONERA
-    OTBIOJPEG2000
+    OTBIOMSTAR
+    OTBITK
     OTBITKPendingPatches
     OTBIOLUM
-    OTBImageBase
-    OTBIOMW
-    OTBIOMSTAR
+    OTBBoost
+    OTBIOJPEG2000
     OTBIOBSQ
     OTBIOGDAL
-    OTBStreaming
-    OTBBoost
+    OTBIOONERA
     OTBIOTileMap
     OTBCommon
+    OTBImageBase
+    OTBStreaming
     OTBExtendedFilename
     OTBOSSIMAdapters
     OTBObjectList
+
   TEST_DEPENDS
     OTBTestKernel
     OTBStatistics
-  
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/IO/KMZWriter/otb-module.cmake b/Modules/IO/KMZWriter/otb-module.cmake
index 369f6ffa92..d24c18909c 100644
--- a/Modules/IO/KMZWriter/otb-module.cmake
+++ b/Modules/IO/KMZWriter/otb-module.cmake
@@ -1,19 +1,23 @@
 set(DOCUMENTATION "This module contains features to write kmz files (supported
 by Google Earth).")
 
-otb_module(OTBKMZWriter 
+otb_module(OTBKMZWriter
   DEPENDS
     OTBVectorDataBase
     OTBImageIO
-    OTBImageBase
+    OTBITK
+    OTBlibkml
     OTBTransform
-    OTBOSSIMAdapters
     OTBImageManipulation
+    OTBImageBase
     OTBVectorDataIO
-    OTBlibkml
+    OTBOSSIMAdapters
+
   TEST_DEPENDS
     OTBTestKernel
-  
+    OTBCommon
+    OTBProjection
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/IO/TestKernel/otb-module.cmake b/Modules/IO/TestKernel/otb-module.cmake
index 9f326aa41c..75394e3339 100644
--- a/Modules/IO/TestKernel/otb-module.cmake
+++ b/Modules/IO/TestKernel/otb-module.cmake
@@ -4,17 +4,17 @@ to instantiate it and another one which uses the class. The output of each test
 (image, text file, binary file) is controlled against a baseline to make sure that
 the result hasn't changed.")
 
-otb_module(OTBTestKernel 
+otb_module(OTBTestKernel
   DEPENDS
     OTBGdalAdapters
     OTBImageIO
+    OTBITK
     OTBImageBase
     OTBCommon
     OTBGDAL
     OTBOSSIMAdapters
     OTBImageManipulation
-  
-  
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/IO/VectorDataIO/otb-module.cmake b/Modules/IO/VectorDataIO/otb-module.cmake
index 21b8b157b9..992a374ab3 100644
--- a/Modules/IO/VectorDataIO/otb-module.cmake
+++ b/Modules/IO/VectorDataIO/otb-module.cmake
@@ -2,16 +2,19 @@ set(DOCUMENTATION "This module contains classes related to the reading and the
 writing of vector data (see also VectorDataBase and VectorDataManipulation
 modules).")
 
-otb_module(OTBVectorDataIO 
+otb_module(OTBVectorDataIO
   DEPENDS
     OTBVectorDataBase
-    OTBVectorDataManipulation
-    OTBCommon
     OTBIOGDAL
+    OTBITK
+    OTBVectorDataManipulation
     OTBIOKML
+    OTBCommon
+
   TEST_DEPENDS
     OTBTestKernel
-  
+    OTBOSSIMAdapters
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Learning/DempsterShafer/otb-module.cmake b/Modules/Learning/DempsterShafer/otb-module.cmake
index e435e87a0b..05e122848e 100644
--- a/Modules/Learning/DempsterShafer/otb-module.cmake
+++ b/Modules/Learning/DempsterShafer/otb-module.cmake
@@ -4,19 +4,23 @@ dempster-Shafer, which is based on belief function and plausible reasoning, can
 be used for this purpose. This module contains classes related to this theory (see
 also majority voting module).")
 
-otb_module(OTBDempsterShafer 
+otb_module(OTBDempsterShafer
   DEPENDS
     OTBVectorDataBase
+    OTBITK
     OTBImageBase
     OTBVectorDataManipulation
     OTBSupervised
     OTBCommon
-    OTBMathParser
     OTBFuzzy
+    OTBMathParser
+
   TEST_DEPENDS
-    OTBTestKernel
     OTBVectorDataIO
-  
+    OTBTestKernel
+    OTBImageIO
+    OTBObjectList
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Learning/LearningBase/otb-module.cmake b/Modules/Learning/LearningBase/otb-module.cmake
index b9d1379092..49350ed383 100644
--- a/Modules/Learning/LearningBase/otb-module.cmake
+++ b/Modules/Learning/LearningBase/otb-module.cmake
@@ -1,11 +1,16 @@
 set(DOCUMENTATION "This module contains OTB generic Machine Learning framework
 mainly based on OpenCV.")
 
-otb_module(OTBLearningBase 
+otb_module(OTBLearningBase
   DEPENDS
     OTBCommon
+    OTBITK
+
   TEST_DEPENDS
     OTBTestKernel
+    OTBImageIO
+    OTBImageBase
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Learning/Markov/otb-module.cmake b/Modules/Learning/Markov/otb-module.cmake
index fb5be786df..a8954636f8 100644
--- a/Modules/Learning/Markov/otb-module.cmake
+++ b/Modules/Learning/Markov/otb-module.cmake
@@ -3,13 +3,17 @@ statistical dependency between pixels in a neighborhood to infeer the value of a
 given pixel. This module contains the OTB framework, considered as more flexible
 than the ITK one.")
 
-otb_module(OTBMarkov 
+otb_module(OTBMarkov
   DEPENDS
     OTBBoost
     OTBCommon
+    OTBITK
+
   TEST_DEPENDS
     OTBTestKernel
-  
+    OTBImageIO
+    OTBImageBase
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Learning/SOM/otb-module.cmake b/Modules/Learning/SOM/otb-module.cmake
index 94f43b5f94..ed3792fdcb 100644
--- a/Modules/Learning/SOM/otb-module.cmake
+++ b/Modules/Learning/SOM/otb-module.cmake
@@ -4,14 +4,17 @@ which are in competition by means of mutual interactions and they adapt in order
 to match characteristic patterns of the examples given during the learning. The
 SOM is usually on a plane (2D).")
 
-otb_module(OTBSOM 
+otb_module(OTBSOM
   DEPENDS
     OTBImageBase
     OTBCommon
     OTBITKPendingPatches
+    OTBITK
+
   TEST_DEPENDS
     OTBTestKernel
-  
+    OTBImageIO
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Learning/SVMLearning/otb-module.cmake b/Modules/Learning/SVMLearning/otb-module.cmake
index 3b4d081677..71f713c9af 100644
--- a/Modules/Learning/SVMLearning/otb-module.cmake
+++ b/Modules/Learning/SVMLearning/otb-module.cmake
@@ -1,18 +1,23 @@
 set(DOCUMENTATION "Deprecated classes for SVM learning. See module 'Supervised' for a replacement")
 
-otb_module(OTBSVMLearning 
+otb_module(OTBSVMLearning
   DEPENDS
     OTBVectorDataBase
+    OTBITK
     OTBImageBase
     OTBLibSVM
     OTBLabelMap
     OTBStreaming
     OTBCommon
+
   TEST_DEPENDS
+    OTBStatistics
+    OTBImageIO
     OTBMoments
-    OTBTestKernel
+    OTBVectorDataIO
     OTBIOXML
-    OTBVectorDataIO  
+    OTBTestKernel
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Learning/Supervised/otb-module.cmake b/Modules/Learning/Supervised/otb-module.cmake
index 56a2466cfe..4535970622 100644
--- a/Modules/Learning/Supervised/otb-module.cmake
+++ b/Modules/Learning/Supervised/otb-module.cmake
@@ -4,12 +4,19 @@ OpenCV and/or libSVM")
 
 otb_module(OTBSupervised
   DEPENDS
+    OTBBoost
     OTBCommon
+    OTBITK
+
   OPTIONAL_DEPENDS
     OTBOpenCV
     OTBSVMLearning
+
   TEST_DEPENDS
     OTBTestKernel
+    OTBImageIO
+    OTBImageBase
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/OBIA/RCC8/otb-module.cmake b/Modules/OBIA/RCC8/otb-module.cmake
index 1d23bdad2f..8f8fa9ca19 100644
--- a/Modules/OBIA/RCC8/otb-module.cmake
+++ b/Modules/OBIA/RCC8/otb-module.cmake
@@ -4,18 +4,22 @@ relations to each other (8 basic relations are possible between two regions). Th
 RCC8 constraint language has been popularly adopted by the GIS communities. This
 module provides classes related to this purpose.")
 
-otb_module(OTBRCC8 
+otb_module(OTBRCC8
   DEPENDS
-    OTBImageManipulation
+    OTBITK
     OTBImageBase
     OTBRoadExtraction
-    OTBCommon
+    OTBImageManipulation
     OTBPath
+    OTBCommon
     OTBBoost
     OTBObjectList
+
   TEST_DEPENDS
+    OTBVectorDataBase
     OTBTestKernel
-  
+    OTBImageIO
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Radiometry/Indices/otb-module.cmake b/Modules/Radiometry/Indices/otb-module.cmake
index 9a475cb6c9..d79c13129b 100644
--- a/Modules/Radiometry/Indices/otb-module.cmake
+++ b/Modules/Radiometry/Indices/otb-module.cmake
@@ -4,19 +4,25 @@ one band. This module contains filters that can compute classical indices, such
 as NDVI (Normalized Difference Vegetation Index), NDWI (Normalized
 DifferenceWater Index) and so on.")
 
-otb_module(OTBIndices 
+otb_module(OTBIndices
   DEPENDS
     OTBVectorDataBase
-    OTBImageManipulation
+    OTBITK
     OTBITKPendingPatches
-    OTBCommon
+    OTBImageManipulation
     OTBFuzzy
     OTBPath
+    OTBCommon
     OTBMetadata
+
   TEST_DEPENDS
     OTBTestKernel
+    OTBImageIO
+    OTBProjection
     OTBVectorDataIO
-  
+    OTBImageBase
+    OTBObjectList
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Radiometry/OpticalCalibration/otb-module.cmake b/Modules/Radiometry/OpticalCalibration/otb-module.cmake
index d775290d1a..a19c2c797f 100644
--- a/Modules/Radiometry/OpticalCalibration/otb-module.cmake
+++ b/Modules/Radiometry/OpticalCalibration/otb-module.cmake
@@ -3,8 +3,9 @@ refletance image conversion. atmospheric correction for TOA (top of atmosphere)
 (top of canopy) reflectance estimation. correction of the adjacency effects taking
 into account the neighborhood contribution.")
 
-otb_module(OTBOpticalCalibration 
+otb_module(OTBOpticalCalibration
   DEPENDS
+    OTBITK
     OTBImageBase
     OTB6S
     OTBImageManipulation
@@ -14,9 +15,12 @@ otb_module(OTBOpticalCalibration
     OTBBoost
     OTBOSSIMAdapters
     OTBObjectList
+
   TEST_DEPENDS
     OTBTestKernel
-  
+    OTBImageIO
+    OTBITKPendingPatches
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Radiometry/SARCalibration/otb-module.cmake b/Modules/Radiometry/SARCalibration/otb-module.cmake
index 63fb0ac68b..3391e86b6c 100644
--- a/Modules/Radiometry/SARCalibration/otb-module.cmake
+++ b/Modules/Radiometry/SARCalibration/otb-module.cmake
@@ -1,16 +1,20 @@
 set(DOCUMENTATION "This module contains tools related to SAR calibration
 (classes to compute the backscatter or the brigthness of a given pixel and so on).")
 
-otb_module(OTBSARCalibration 
+otb_module(OTBSARCalibration
   DEPENDS
     OTBITKPendingPatches
-    OTBCommon
-    OTBOSSIMAdapters
     OTBMetadata
+    OTBITK
+    OTBOSSIMAdapters
+    OTBCommon
+
   TEST_DEPENDS
     OTBTestKernel
     OTBStatistics
-  
+    OTBImageIO
+    OTBImageBase
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Radiometry/Simulation/otb-module.cmake b/Modules/Radiometry/Simulation/otb-module.cmake
index 5f7a9962fa..e198396376 100644
--- a/Modules/Radiometry/Simulation/otb-module.cmake
+++ b/Modules/Radiometry/Simulation/otb-module.cmake
@@ -4,25 +4,31 @@ to generate realistic hyperspectral synthetic set of data. This module includes
 PROSPECT (leaf optical properties) and SAIL (canopy bidirectional reflectance)
 models, as well as PROSAIL, which is the combination of the two previous ones.")
 
-otb_module(OTBSimulation 
+otb_module(OTBSimulation
   DEPENDS
     OTBStatistics
+    OTBITK
     OTBMetadata
     OTBImageBase
     OTBLabelMap
     OTBImageManipulation
-    OTBCommon
     OTBIndices
+    OTBCommon
+    OTBInterpolation
+    OTBBoost
     OTBOpticalCalibration
     OTBObjectList
-    OTBBoost
-    OTBInterpolation
+
   TEST_DEPENDS
-    OTBTestKernel
+    OTBVectorDataBase
     OTBConversion
-    OTBSVMLearning
-    OTBSupervised
+    OTBImageIO
+    OTBTestKernel
     OTBLearningBase
+    OTBSupervised
+    OTBSVMLearning
+    OTBVectorDataIO
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Registration/DisparityMap/otb-module.cmake b/Modules/Registration/DisparityMap/otb-module.cmake
index fdea8988b0..5be84cf8c8 100644
--- a/Modules/Registration/DisparityMap/otb-module.cmake
+++ b/Modules/Registration/DisparityMap/otb-module.cmake
@@ -5,17 +5,22 @@ in the chosen map projection system, resampling of a disparity map computed in
 epipolar geometry into a disparity map relative to sensor geometry, sub-pixel
 precision.")
 
-otb_module(OTBDisparityMap 
+otb_module(OTBDisparityMap
   DEPENDS
     OTBStereo
+    OTBITK
     OTBITKPendingPatches
     OTBImageBase
     OTBTransform
     OTBPointSet
     OTBCommon
+
   TEST_DEPENDS
     OTBTestKernel
-  
+    OTBImageIO
+    OTBImageManipulation
+    OTBObjectList
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Registration/DisplacementField/otb-module.cmake b/Modules/Registration/DisplacementField/otb-module.cmake
index 430e10fe3a..789d9e9310 100644
--- a/Modules/Registration/DisplacementField/otb-module.cmake
+++ b/Modules/Registration/DisplacementField/otb-module.cmake
@@ -5,16 +5,19 @@ BSpline). The class otb::StereorectificationDisplacementFieldSource is specializ
 in generating a deformation field between two images in epipolar geometry
 (horizontal shifts).")
 
-otb_module(OTBDisplacementField 
+otb_module(OTBDisplacementField
   DEPENDS
+    OTBITK
     OTBImageBase
     OTBTransform
     OTBCommon
     OTBOSSIMAdapters
     OTBObjectList
+
   TEST_DEPENDS
     OTBTestKernel
-  
+    OTBImageIO
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Registration/Stereo/otb-module.cmake b/Modules/Registration/Stereo/otb-module.cmake
index 08f5c4be30..1e9242144f 100644
--- a/Modules/Registration/Stereo/otb-module.cmake
+++ b/Modules/Registration/Stereo/otb-module.cmake
@@ -2,9 +2,10 @@ set(DOCUMENTATION "This module contains tools related to stereo-reconstruction.
 Classes that allow block matching, fine registration, adherence correction,
 elevation map construction are available.")
 
-otb_module(OTBStereo 
+otb_module(OTBStereo
   DEPENDS
     OTBStatistics
+    OTBITK
     OTBITKPendingPatches
     OTBImageBase
     OTBTransform
@@ -12,9 +13,12 @@ otb_module(OTBStereo
     OTBInterpolation
     OTBOSSIMAdapters
     OTBObjectList
+
   TEST_DEPENDS
     OTBTestKernel
-  
+    OTBImageIO
+    OTBImageManipulation
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Segmentation/CCOBIA/otb-module.cmake b/Modules/Segmentation/CCOBIA/otb-module.cmake
index 5b92bae85a..f45ae15300 100644
--- a/Modules/Segmentation/CCOBIA/otb-module.cmake
+++ b/Modules/Segmentation/CCOBIA/otb-module.cmake
@@ -1,7 +1,7 @@
 set(DOCUMENTATION "This module contains classes that implement the Connected
 Component algorithm (segmentation).")
 
-otb_module(OTBCCOBIA 
+otb_module(OTBCCOBIA
   DEPENDS
     OTBConversion
     OTBStatistics
@@ -11,10 +11,16 @@ otb_module(OTBCCOBIA
     OTBStreaming
     OTBCommon
     OTBMathParser
+    OTBITK
+
   TEST_DEPENDS
+    OTBVectorDataBase
     OTBTestKernel
+    OTBImageIO
+    OTBVectorDataIO
     OTBSmoothing
-  
+    OTBImageBase
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Segmentation/Conversion/otb-module.cmake b/Modules/Segmentation/Conversion/otb-module.cmake
index e46e03ea85..43fd40772b 100644
--- a/Modules/Segmentation/Conversion/otb-module.cmake
+++ b/Modules/Segmentation/Conversion/otb-module.cmake
@@ -2,24 +2,28 @@ set(DOCUMENTATION "This module contains tools that allow switching between
 different segment representations (labelImage, labelMap, OGR Layer, QGIS table).
 Rasterization and vectorization are important features of this module.")
 
-otb_module(OTBConversion 
+otb_module(OTBConversion
   DEPENDS
     OTBVectorDataBase
-    OTBLabelMap
-    OTBGdalAdapters
     OTBVectorDataManipulation
+    OTBGdalAdapters
+    OTBITK
+    OTBVectorDataIO
     OTBIOGDAL
     OTBStreaming
-    OTBCommon
-    OTBVectorDataIO
+    OTBLabelMap
     OTBImageBase
+    OTBMetadata
     OTBBoost
     OTBGDAL
+    OTBCommon
+
   TEST_DEPENDS
     OTBTestKernel
+    OTBImageIO
     OTBProjection
     OTBSmoothing
-  
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Segmentation/EdisonMeanShift/otb-module.cmake b/Modules/Segmentation/EdisonMeanShift/otb-module.cmake
index e169202cc5..462342883d 100644
--- a/Modules/Segmentation/EdisonMeanShift/otb-module.cmake
+++ b/Modules/Segmentation/EdisonMeanShift/otb-module.cmake
@@ -1,16 +1,20 @@
 set(DOCUMENTATION "This module implements the mean shift segmentation algorithm
 (EDISON library).")
 
-otb_module(OTBEdisonMeanShift 
+otb_module(OTBEdisonMeanShift
   DEPENDS
     OTBVectorDataBase
-    OTBImageBase
     OTBEdison
+    OTBITK
+    OTBImageBase
     OTBCommon
     OTBObjectList
+
   TEST_DEPENDS
     OTBTestKernel
-  
+    OTBImageIO
+    OTBImageManipulation
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Segmentation/Labelling/otb-module.cmake b/Modules/Segmentation/Labelling/otb-module.cmake
index 214dbbb865..4dbc6d4307 100644
--- a/Modules/Segmentation/Labelling/otb-module.cmake
+++ b/Modules/Segmentation/Labelling/otb-module.cmake
@@ -6,13 +6,18 @@ neighbourhood. Remaping the labels is also possible, so that that the label numb
 are consecutive with no gaps between the label numbers used. Finally, it is also
 possible to sort the labels based on the size of the object.")
 
-otb_module(OTBLabelling 
+otb_module(OTBLabelling
   DEPENDS
     OTBPointSet
     OTBImageManipulation
+    OTBITK
+
   TEST_DEPENDS
     OTBTestKernel
-  
+    OTBImageIO
+    OTBITKPendingPatches
+    OTBImageBase
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Segmentation/MeanShift/otb-module.cmake b/Modules/Segmentation/MeanShift/otb-module.cmake
index e1ad66db6d..65727c1162 100644
--- a/Modules/Segmentation/MeanShift/otb-module.cmake
+++ b/Modules/Segmentation/MeanShift/otb-module.cmake
@@ -1,15 +1,19 @@
 set(DOCUMENTATION "This Module contains classes that implement the MeanShift
 segmentation algorithm.")
 
-otb_module(OTBMeanShift 
+otb_module(OTBMeanShift
   DEPENDS
     OTBCCOBIA
     OTBConversion
     OTBSmoothing
+    OTBITK
     OTBMathParser
+
   TEST_DEPENDS
     OTBTestKernel
-  
+    OTBImageIO
+    OTBImageBase
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Segmentation/Metrics/otb-module.cmake b/Modules/Segmentation/Metrics/otb-module.cmake
index ac47b3165b..3034b61885 100644
--- a/Modules/Segmentation/Metrics/otb-module.cmake
+++ b/Modules/Segmentation/Metrics/otb-module.cmake
@@ -1,13 +1,17 @@
 set(DOCUMENTATION "This module contains classes that allow measuring the
 differences between two segmentations.")
 
-otb_module(OTBMetrics 
+otb_module(OTBMetrics
   DEPENDS
     OTBCommon
+    OTBITK
+
   TEST_DEPENDS
     OTBLabelMap
     OTBTestKernel
-  
+    OTBImageIO
+    OTBImageBase
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Segmentation/MorphologicalProfiles/otb-module.cmake b/Modules/Segmentation/MorphologicalProfiles/otb-module.cmake
index 6fed049807..10d55f6188 100644
--- a/Modules/Segmentation/MorphologicalProfiles/otb-module.cmake
+++ b/Modules/Segmentation/MorphologicalProfiles/otb-module.cmake
@@ -1,15 +1,18 @@
 set(DOCUMENTATION "This module contains mono and multi-scale convex/concave
 image classification based on geodesic morphology characteristics.")
 
-otb_module(OTBMorphologicalProfiles 
+otb_module(OTBMorphologicalProfiles
   DEPENDS
     OTBImageBase
+    OTBImageManipulation
     OTBObjectList
+    OTBITK
     OTBCommon
-    OTBImageManipulation
+
   TEST_DEPENDS
     OTBTestKernel
-  
+    OTBImageIO
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Segmentation/OGRProcessing/otb-module.cmake b/Modules/Segmentation/OGRProcessing/otb-module.cmake
index 24884d3f9a..b7468d7801 100644
--- a/Modules/Segmentation/OGRProcessing/otb-module.cmake
+++ b/Modules/Segmentation/OGRProcessing/otb-module.cmake
@@ -2,7 +2,7 @@ set(DOCUMENTATION "This module contains a class that allow the fusion of
 geometries in a layer (OGRLayer) along streaming lines, and a class that allow stream
 segmentation and vectorization of the output label image.")
 
-otb_module(OTBOGRProcessing 
+otb_module(OTBOGRProcessing
   DEPENDS
     OTBGdalAdapters
     OTBProjection
@@ -13,9 +13,13 @@ otb_module(OTBOGRProcessing
     OTBCommon
     OTBLabelling
     OTBGDAL
+    OTBITK
+
   TEST_DEPENDS
     OTBTestKernel
-  
+    OTBImageIO
+    OTBImageBase
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Segmentation/Watersheds/otb-module.cmake b/Modules/Segmentation/Watersheds/otb-module.cmake
index 497bde27f8..5490f71a4b 100644
--- a/Modules/Segmentation/Watersheds/otb-module.cmake
+++ b/Modules/Segmentation/Watersheds/otb-module.cmake
@@ -1,11 +1,15 @@
 set(DOCUMENTATION "OTB implementation of Watersheds segmentation algorithm.")
 
-otb_module(OTBWatersheds 
+otb_module(OTBWatersheds
   DEPENDS
     OTBCommon
+    OTBITK
+
   TEST_DEPENDS
     OTBTestKernel
-  
+    OTBImageIO
+    OTBImageBase
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Wrappers/ApplicationEngine/otb-module.cmake b/Modules/Wrappers/ApplicationEngine/otb-module.cmake
index 94e2d933d4..e2c2e57a03 100644
--- a/Modules/Wrappers/ApplicationEngine/otb-module.cmake
+++ b/Modules/Wrappers/ApplicationEngine/otb-module.cmake
@@ -1,24 +1,28 @@
 set(DOCUMENTATION "This module contains classes that ease the implementation of
 applications (see chapter 'How to write an application' of the SoftwareGuide).")
 
-otb_module(OTBApplicationEngine 
+otb_module(OTBApplicationEngine
   DEPENDS
     OTBVectorDataBase
-    OTBImageManipulation
     OTBImageIO
     OTBProjection
-    OTBTinyXML
     OTBVectorDataIO
     OTBTransform
-    OTBCommon
+    OTBImageManipulation
+    OTBTinyXML
     OTBImageBase
+    OTBCommon
+    OTBObjectList
     OTBBoost
     OTBOSSIMAdapters
-    OTBObjectList
+    OTBITK
+
   TEST_DEPENDS
     OTBTestKernel
     OTBCommandLine
+    OTBEdge
     OTBAppImageUtils
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Wrappers/CommandLine/otb-module.cmake b/Modules/Wrappers/CommandLine/otb-module.cmake
index 54fdc36ce3..5ae1a6f62a 100644
--- a/Modules/Wrappers/CommandLine/otb-module.cmake
+++ b/Modules/Wrappers/CommandLine/otb-module.cmake
@@ -1,13 +1,16 @@
 set(DOCUMENTATION "Required to launch applications from command line.")
 
-otb_module(OTBCommandLine 
+otb_module(OTBCommandLine
   DEPENDS
-    OTBApplicationEngine
-    OTBTinyXML
     OTBCommon
+    OTBITK
+    OTBTinyXML
+    OTBApplicationEngine
+
   TEST_DEPENDS
     OTBTestKernel
     OTBAppImageUtils
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Wrappers/QtWidget/otb-module.cmake b/Modules/Wrappers/QtWidget/otb-module.cmake
index ce9429e698..2a3a8a1e08 100644
--- a/Modules/Wrappers/QtWidget/otb-module.cmake
+++ b/Modules/Wrappers/QtWidget/otb-module.cmake
@@ -1,12 +1,14 @@
 set(DOCUMENTATION "QT wrappers.")
 
-otb_module(OTBQtWidget 
+otb_module(OTBQtWidget
   DEPENDS
-    OTBApplicationEngine
     OTBQt4
+    OTBApplicationEngine
+    OTBITK
+
   TEST_DEPENDS
     OTBTestKernel
-  
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
diff --git a/Modules/Wrappers/SWIG/otb-module.cmake b/Modules/Wrappers/SWIG/otb-module.cmake
index c4a007e056..d002471f32 100644
--- a/Modules/Wrappers/SWIG/otb-module.cmake
+++ b/Modules/Wrappers/SWIG/otb-module.cmake
@@ -2,8 +2,9 @@ set(DOCUMENTATION "TO BE DOCUMENTED")
 
 otb_module(OTBSWIGWrapper
   DEPENDS
-      OTBApplicationEngine
-  
+    OTBApplicationEngine
+    OTBITK
+
   DESCRIPTION
     "${DOCUMENTATION}"
-  )
+)
-- 
GitLab