diff --git a/CMake/FindOssim.cmake b/CMake/FindOssim.cmake
new file mode 100644
index 0000000000000000000000000000000000000000..43d40d1ff296575981fa8c9855791e13bb4486d1
--- /dev/null
+++ b/CMake/FindOssim.cmake
@@ -0,0 +1,27 @@
+# - Find Ossim
+# Find the native Ossim includes and library
+#
+#   OSSIM_FOUND       - True if Ossim found.
+#   OSSIM_INCLUDE_DIR - where to find tinyxml.h, etc.
+#   OSSIM_LIBRARIES   - List of libraries when using Ossim.
+#
+
+IF( OSSIM_INCLUDE_DIR )
+    # Already in cache, be silent
+    SET( Ossim_FIND_QUIETLY TRUE )
+ENDIF( OSSIM_INCLUDE_DIR )
+
+FIND_PATH( OSSIM_INCLUDE_DIR
+           NAMES ossim/init/ossimInit.h 
+           PATHS $ENV{OSSIM_INCLUDE_DIR} /usr/local )
+           
+FIND_LIBRARY(OSSIM_LIBRARY
+             NAMES ossim
+             PATHS /usr/local/lib/ossim)
+ 
+# handle the QUIETLY and REQUIRED arguments and set OSSIM_FOUND to TRUE if
+# all listed variables are TRUE
+INCLUDE( FindPackageHandleStandardArgs )
+FIND_PACKAGE_HANDLE_STANDARD_ARGS( Ossim DEFAULT_MSG OSSIM_INCLUDE_DIR OSSIM_LIBRARY )
+
+MARK_AS_ADVANCED( OSSIM_INCLUDE_DIR OSSIM_LIBRARY )
diff --git a/CMake/ImportOssim.cmake b/CMake/ImportOssim.cmake
index bd48a60415d316f953c59bf69c41054dca72dd6f..43bd5ab3631ce0867348ab69a91737a65b65685a 100644
--- a/CMake/ImportOssim.cmake
+++ b/CMake/ImportOssim.cmake
@@ -5,25 +5,7 @@ OPTION(OTB_USE_EXTERNAL_OSSIM "Use an outside build of Ossim." OFF)
 MARK_AS_ADVANCED(OTB_USE_EXTERNAL_OSSIM)
 
 IF(OTB_USE_EXTERNAL_OSSIM)
-
-  IF (NOT OSSIM_FOUND)
-    FIND_PATH(OSSIM_INCLUDE_DIR NAMES ossim/init/ossimInit.h PATHS $ENV{OSSIM_INCLUDE_DIR} /usr/local)
-    MARK_AS_ADVANCED(OSSIM_INCLUDE_DIR)
-    FIND_LIBRARY(OSSIM_LIBRARY NAMES ossim PATHS /usr/local/lib/ossim)
-    MARK_AS_ADVANCED(OSSIM_LIBRARY)
-  ENDIF(NOT OSSIM_FOUND)
-
-  IF (NOT OSSIM_INCLUDE_DIR)
-  MESSAGE(FATAL_ERROR
-           "Cannot find OSSIM include directory. Please set OSSIM_INCLUDE_DIR.")
-  ENDIF (NOT OSSIM_INCLUDE_DIR)
-
-  IF (NOT OSSIM_LIBRARY)
-    MESSAGE(FATAL_ERROR
-             "Cannot find OSSIM library. Please set OSSIM_LIBRARY.")
-  ENDIF (NOT OSSIM_LIBRARY)
-  MESSAGE(STATUS "  OSSIM includes : ${OSSIM_INCLUDE_DIR}")
-  MESSAGE(STATUS "  OSSIM library  : ${OSSIM_LIBRARY}")
+  FIND_PACKAGE(Ossim REQUIRED)
 ELSE(OTB_USE_EXTERNAL_OSSIM)
   SET(OSSIM_LIBRARY otbossim)
 ENDIF(OTB_USE_EXTERNAL_OSSIM)
diff --git a/Code/UtilitiesAdapters/OssimAdapters/otbAeronetFileReader.cxx b/Code/UtilitiesAdapters/OssimAdapters/otbAeronetFileReader.cxx
index 33b7240407190513860f74990df177196cd9af0c..e22deb5d5c8c2f84a50b3a7f0b1a1aa6dc35fb76 100644
--- a/Code/UtilitiesAdapters/OssimAdapters/otbAeronetFileReader.cxx
+++ b/Code/UtilitiesAdapters/OssimAdapters/otbAeronetFileReader.cxx
@@ -23,7 +23,7 @@
 #include "otbMath.h"
 #include "otbAeronetData.h"
 
-#include "base/ossimDate.h"
+#include "ossim/base/ossimDate.h"
 
 namespace otb
 {
diff --git a/Code/UtilitiesAdapters/OssimAdapters/otbDEMConvertAdapter.cxx b/Code/UtilitiesAdapters/OssimAdapters/otbDEMConvertAdapter.cxx
index 32584a3a3aa687f1aad38525efc559754220e455..8de2eb3713ac5f1453870b83b522507ca9df9097 100644
--- a/Code/UtilitiesAdapters/OssimAdapters/otbDEMConvertAdapter.cxx
+++ b/Code/UtilitiesAdapters/OssimAdapters/otbDEMConvertAdapter.cxx
@@ -21,20 +21,20 @@
 #include "itkMacro.h"
 
 // OSSIM include
-#include "base/ossimKeywordNames.h"
-#include "base/ossimStdOutProgress.h"
-#include "base/ossimFilename.h"
-#include "base/ossimKeywordlist.h"
-#include "imaging/ossimJpegWriter.h"
-#include "imaging/ossimImageHandler.h"
-#include "imaging/ossimImageSource.h"
-#include "imaging/ossimImageHandlerRegistry.h"
-#include "imaging/ossimImageWriterFactoryRegistry.h"
-#include "imaging/ossimImageWriterFactory.h"
-#include "imaging/ossimImageFileWriter.h"
-#include "imaging/ossimCacheTileSource.h"
-#include "imaging/ossimBandSelector.h"
-#include "imaging/ossimCibCadrgTileSource.h"
+#include "ossim/base/ossimKeywordNames.h"
+#include "ossim/base/ossimStdOutProgress.h"
+#include "ossim/base/ossimFilename.h"
+#include "ossim/base/ossimKeywordlist.h"
+#include "ossim/imaging/ossimJpegWriter.h"
+#include "ossim/imaging/ossimImageHandler.h"
+#include "ossim/imaging/ossimImageSource.h"
+#include "ossim/imaging/ossimImageHandlerRegistry.h"
+#include "ossim/imaging/ossimImageWriterFactoryRegistry.h"
+#include "ossim/imaging/ossimImageWriterFactory.h"
+#include "ossim/imaging/ossimImageFileWriter.h"
+#include "ossim/imaging/ossimCacheTileSource.h"
+#include "ossim/imaging/ossimBandSelector.h"
+#include "ossim/imaging/ossimCibCadrgTileSource.h"
 
 namespace otb
 {
diff --git a/Code/UtilitiesAdapters/OssimAdapters/otbDEMHandler.cxx b/Code/UtilitiesAdapters/OssimAdapters/otbDEMHandler.cxx
index 735a7486a8c0c1980a4bc11ca2aa1643349b0370..f49138324e7004522e442cdc17f8adcdd37bb8f6 100644
--- a/Code/UtilitiesAdapters/OssimAdapters/otbDEMHandler.cxx
+++ b/Code/UtilitiesAdapters/OssimAdapters/otbDEMHandler.cxx
@@ -18,12 +18,12 @@
 #include "otbDEMHandler.h"
 #include "otbMacro.h"
 
-#include "elevation/ossimElevManager.h"
-#include "base/ossimGeoidManager.h"
-#include "base/ossimFilename.h"
-#include "base/ossimDirectory.h"
-#include "base/ossimGeoidEgm96.h"
-#include "base/ossimRefPtr.h"
+#include "ossim/elevation/ossimElevManager.h"
+#include "ossim/base/ossimGeoidManager.h"
+#include "ossim/base/ossimFilename.h"
+#include "ossim/base/ossimDirectory.h"
+#include "ossim/base/ossimGeoidEgm96.h"
+#include "ossim/base/ossimRefPtr.h"
 
 namespace otb
 {
diff --git a/Code/UtilitiesAdapters/OssimAdapters/otbEllipsoidAdapter.cxx b/Code/UtilitiesAdapters/OssimAdapters/otbEllipsoidAdapter.cxx
index f0c074694c7235c856d2ede9eddedd6ad1b641d7..44eecbff75b9aabaad2339813ba95e9245430bd4 100644
--- a/Code/UtilitiesAdapters/OssimAdapters/otbEllipsoidAdapter.cxx
+++ b/Code/UtilitiesAdapters/OssimAdapters/otbEllipsoidAdapter.cxx
@@ -18,7 +18,7 @@
 
 #include "otbEllipsoidAdapter.h"
 
-#include "base/ossimEllipsoid.h"
+#include "ossim/base/ossimEllipsoid.h"
 
 namespace otb
 {
diff --git a/Code/UtilitiesAdapters/OssimAdapters/otbGeometricSarSensorModelAdapter.cxx b/Code/UtilitiesAdapters/OssimAdapters/otbGeometricSarSensorModelAdapter.cxx
index b0e06e8a02f8ef804b349df9d0b01bc9fe453aa9..450645c2246d5e22e3821108fb67347b5ca93fef 100644
--- a/Code/UtilitiesAdapters/OssimAdapters/otbGeometricSarSensorModelAdapter.cxx
+++ b/Code/UtilitiesAdapters/OssimAdapters/otbGeometricSarSensorModelAdapter.cxx
@@ -22,7 +22,7 @@
 #include "otbImageKeywordlist.h"
 
 #include "ossimGeometricSarSensorModel.h"
-#include "projection/ossimProjection.h"
+#include "ossim/projection/ossimProjection.h"
 #include "ossim/ossimPluginProjectionFactory.h"
 #include "otb/JSDDateTime.h"
 
diff --git a/Code/UtilitiesAdapters/OssimAdapters/otbImageKeywordlist.cxx b/Code/UtilitiesAdapters/OssimAdapters/otbImageKeywordlist.cxx
index e49c026719811ae9812f50e6f1cd6bac89bc5393..19885e5bdeb0fb64e8a74bb38f2cabaa18c68748 100644
--- a/Code/UtilitiesAdapters/OssimAdapters/otbImageKeywordlist.cxx
+++ b/Code/UtilitiesAdapters/OssimAdapters/otbImageKeywordlist.cxx
@@ -21,12 +21,12 @@
 
 #include "otbMacro.h"
 
-#include "base/ossimKeywordlist.h"
-#include "base/ossimString.h"
-#include "ossim/ossimPluginProjectionFactory.h"
-#include "imaging/ossimImageHandlerRegistry.h"
+#include "ossim/base/ossimKeywordlist.h"
+#include "ossim/base/ossimString.h"
+#include "ossimPluginProjectionFactory.h"
+#include "ossim/imaging/ossimImageHandlerRegistry.h"
 #include "ossimTileMapModel.h"
-#include "projection/ossimProjectionFactoryRegistry.h"
+#include "ossim/projection/ossimProjectionFactoryRegistry.h"
 
 
 namespace otb
diff --git a/Code/UtilitiesAdapters/OssimAdapters/otbMapProjectionAdapter.cxx b/Code/UtilitiesAdapters/OssimAdapters/otbMapProjectionAdapter.cxx
index d9714d7e3d9f45b737491c506577a9aa92c75fa0..b5763b5682027c4df1c23f5358b08777e6cdeedb 100644
--- a/Code/UtilitiesAdapters/OssimAdapters/otbMapProjectionAdapter.cxx
+++ b/Code/UtilitiesAdapters/OssimAdapters/otbMapProjectionAdapter.cxx
@@ -23,25 +23,25 @@
 #include "otbMacro.h"
 #include "otbUtils.h"
 
-#include "projection/ossimMapProjection.h"
-#include "projection/ossimMapProjectionFactory.h"
-#include "base/ossimGpt.h"
-#include "base/ossimDpt.h"
-#include "projection/ossimProjection.h"
-#include "base/ossimEllipsoid.h"
-#include "base/ossimEllipsoidFactory.h"
-#include "base/ossimString.h"
+#include "ossim/projection/ossimMapProjection.h"
+#include "ossim/projection/ossimMapProjectionFactory.h"
+#include "ossim/base/ossimGpt.h"
+#include "ossim/base/ossimDpt.h"
+#include "ossim/projection/ossimProjection.h"
+#include "ossim/base/ossimEllipsoid.h"
+#include "ossim/base/ossimEllipsoidFactory.h"
+#include "ossim/base/ossimString.h"
 #include "gdal/ossimOgcWktTranslator.h"
 
-#include "projection/ossimUtmProjection.h"
-#include "projection/ossimLambertConformalConicProjection.h"
-#include "projection/ossimTransMercatorProjection.h"
-#include "projection/ossimEckert4Projection.h"
-#include "projection/ossimMollweidProjection.h"
-#include "projection/ossimSinusoidalProjection.h"
+#include "ossim/projection/ossimUtmProjection.h"
+#include "ossim/projection/ossimLambertConformalConicProjection.h"
+#include "ossim/projection/ossimTransMercatorProjection.h"
+#include "ossim/projection/ossimEckert4Projection.h"
+#include "ossim/projection/ossimMollweidProjection.h"
+#include "ossim/projection/ossimSinusoidalProjection.h"
 
-#include <ossim/support_data/ossimSpaceImagingGeom.h>
-#include <ossim/base/ossimKeywordNames.h>
+#include "ossim/support_data/ossimSpaceImagingGeom.h"
+#include "ossim/base/ossimKeywordNames.h"
 
 
 namespace otb
diff --git a/Code/UtilitiesAdapters/OssimAdapters/otbPlatformPositionAdapter.cxx b/Code/UtilitiesAdapters/OssimAdapters/otbPlatformPositionAdapter.cxx
index eda123c1814da14f330d72da086809995b6035db..286a90448f43558bf13d7205286d1e48198ee506 100644
--- a/Code/UtilitiesAdapters/OssimAdapters/otbPlatformPositionAdapter.cxx
+++ b/Code/UtilitiesAdapters/OssimAdapters/otbPlatformPositionAdapter.cxx
@@ -23,7 +23,7 @@
 
 #include "ossimGeometricSarSensorModel.h"
 #include "otb/PlatformPosition.h"
-#include "projection/ossimProjection.h"
+#include "ossim/projection/ossimProjection.h"
 #include "ossim/ossimPluginProjectionFactory.h"
 
 
diff --git a/Code/UtilitiesAdapters/OssimAdapters/otbRPCProjectionAdapter.cxx b/Code/UtilitiesAdapters/OssimAdapters/otbRPCProjectionAdapter.cxx
index 7ca3a1c6963dd59cd88b547f066a945994150521..f4007b60129ca54bc63884efe1c85cc62b558e41 100644
--- a/Code/UtilitiesAdapters/OssimAdapters/otbRPCProjectionAdapter.cxx
+++ b/Code/UtilitiesAdapters/OssimAdapters/otbRPCProjectionAdapter.cxx
@@ -19,10 +19,10 @@
 #include "otbRPCProjectionAdapter.h"
 #include "otbImageKeywordlist.h"
 
-#include "projection/ossimRpcProjection.h"
-#include "projection/ossimProjection.h"
-#include "projection/ossimRpcSolver.h"
-#include "imaging/ossimImageGeometry.h"
+#include "ossim/projection/ossimRpcProjection.h"
+#include "ossim/projection/ossimProjection.h"
+#include "ossim/projection/ossimRpcSolver.h"
+#include "ossim/imaging/ossimImageGeometry.h"
 
 namespace otb
 {
diff --git a/Code/UtilitiesAdapters/OssimAdapters/otbSensorModelAdapter.cxx b/Code/UtilitiesAdapters/OssimAdapters/otbSensorModelAdapter.cxx
index bb45f6bb85232f389f8c45375df2ad1d62d38340..6a5817494651bc3962bddc4d7db6fa516f4211df 100644
--- a/Code/UtilitiesAdapters/OssimAdapters/otbSensorModelAdapter.cxx
+++ b/Code/UtilitiesAdapters/OssimAdapters/otbSensorModelAdapter.cxx
@@ -23,8 +23,8 @@
 #include "otbMacro.h"
 #include "otbImageKeywordlist.h"
 
-#include "projection/ossimProjection.h"
-#include "projection/ossimSensorModelFactory.h"
+#include "ossim/projection/ossimProjection.h"
+#include "ossim/projection/ossimSensorModelFactory.h"
 #include "ossim/ossimPluginProjectionFactory.h"
 
 namespace otb