diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1377837248090f2b7d07e91bfd3fefeb1f5f08b5..e3bf339cb33a6b04a49837cf2091ded249e4ad5b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -36,17 +36,14 @@ IF(WIN32)
   ENDIF(NOT BORLAND)
 ENDIF(WIN32)
 
-# Don't build anything unless the version of CMake is high enough.
-# The matching ELSE/ENDIF should be the last lines in the file.
-IF("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" GREATER 1.7)
-
 # If CMake is the version we're expecting, don't show the
-# CMAKE_BACKWARDS_COMPATIBILITY option.
-IF("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" MATCHES "^1\\.8$")
+# CMAKE_BACKWARDS_COMPATIBILITY option. If the version is higher than the
+# minimal version required, then show the backward compatibility option.
+IF("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" MATCHES "^2\\.4$")
   MARK_AS_ADVANCED(FORCE CMAKE_BACKWARDS_COMPATIBILITY)
-ELSE("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" MATCHES "^1\\.8$")
+ELSE("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" MATCHES "^2\\.4$")
   MARK_AS_ADVANCED(CLEAR CMAKE_BACKWARDS_COMPATIBILITY)
-ENDIF("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" MATCHES "^1\\.8$")
+ENDIF("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" MATCHES "^2\\.4$")
 
 #-----------------------------------------------------------------------------
 # OTB option to access large file (> 4Go).
@@ -68,6 +65,7 @@ SET(OTB_VERSION_PATCH "0")
 SET(OTB_VERSION_STRING "${OTB_VERSION_MAJOR}.${OTB_VERSION_MINOR}.${OTB_VERSION_PATCH}")
 
 
+# => Comment for OTB 2.6.0
 #OPTION(BUILD_TESTING "Build testing." OFF)
 
 
@@ -407,13 +405,14 @@ LINK_DIRECTORIES(.)
 OPTION(BUILD_SHARED_LIBS "Build OTB with shared libraries." ON)
 SET(OTB_BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS})
 
+# => Comment for OTB 2.6.0
 # Options for building some of the most common core templates explicitly only
 # once.  This has only been tested on gcc compilers.
-OPTION(OTB_EXPLICIT_INSTANTIATION "BETA-Try to explicitly build some of the core templates explictitly rather than over and over again." OFF)
-MARK_AS_ADVANCED(OTB_EXPLICIT_INSTANTIATION)
-IF( OTB_EXPLICIT_INSTANTIATION )
- ADD_DEFINITIONS(-DOTB_EXPLICIT_INSTANTIATION)
-ENDIF( OTB_EXPLICIT_INSTANTIATION )
+#               OPTION(OTB_EXPLICIT_INSTANTIATION "BETA-Try to explicitly build some of the core templates explictitly rather than over and over again." OFF)
+#               MARK_AS_ADVANCED(OTB_EXPLICIT_INSTANTIATION)
+#               IF( OTB_EXPLICIT_INSTANTIATION )
+#                ADD_DEFINITIONS(-DOTB_EXPLICIT_INSTANTIATION)
+#               ENDIF( OTB_EXPLICIT_INSTANTIATION )
 
 #-----------------------------------------------------------------------------
 # Option for display all developpment message !!!
@@ -534,42 +533,47 @@ IF (BUILD_TESTING)
 ENDIF (BUILD_TESTING)
 
 #-----------------------------------------------------------------------------
+# => Comment for OTB 2.6.0: simplification : copy ITK values
 # OTB requires special compiler flags on some platforms.
-IF(CMAKE_COMPILER_IS_GNUCXX)
-  SET(OTB_REQUIRED_CXX_FLAGS "${OTB_REQUIRED_CXX_FLAGS} -ftemplate-depth-50")
-  IF(APPLE)
-    SET(OTB_REQUIRED_C_FLAGS "${OTB_REQUIRED_C_FLAGS} -no-cpp-precomp")
-    SET(OTB_REQUIRED_CXX_FLAGS "${OTB_REQUIRED_CXX_FLAGS} -no-cpp-precomp")
-    SET(OTB_REQUIRED_CXX_FLAGS "${OTB_REQUIRED_CXX_FLAGS} -Wno-long-double")
-  ENDIF(APPLE)
-ENDIF(CMAKE_COMPILER_IS_GNUCXX)
-
-IF(UNIX)
-  IF(NOT CMAKE_COMPILER_IS_GNUCXX)
-    INCLUDE(${OTB_SOURCE_DIR}/CMake/TestNO_ICC_IDYNAMIC_NEEDED.cmake)
-    TESTNO_ICC_IDYNAMIC_NEEDED(NO_ICC_IDYNAMIC_NEEDED ${OTB_SOURCE_DIR}/CMake )
-    IF(NO_ICC_IDYNAMIC_NEEDED)
-      SET(OTB_REQUIRED_CXX_FLAGS "${OTB_REQUIRED_CXX_FLAGS}")
-    ELSE(NO_ICC_IDYNAMIC_NEEDED)
-      SET(OTB_REQUIRED_CXX_FLAGS "${OTB_REQUIRED_CXX_FLAGS} -i_dynamic")
-    ENDIF(NO_ICC_IDYNAMIC_NEEDED)
-  ENDIF(NOT CMAKE_COMPILER_IS_GNUCXX)
-ENDIF(UNIX)
+SET(OTB_REQUIRED_C_FLAGS "${ITK_REQUIRED_C_FLAGS}")
+SET(OTB_REQUIRED_CXX_FLAGS "${ITK_REQUIRED_CXX_FLAGS}")
+SET(OTB_REQUIRED_LINK_FLAGS "${ITK_REQUIRED_LINK_FLAGS}")
+
+#          IF(CMAKE_COMPILER_IS_GNUCXX)
+#            SET(OTB_REQUIRED_CXX_FLAGS "${OTB_REQUIRED_CXX_FLAGS} -ftemplate-depth-50")
+#            IF(APPLE)
+#              SET(OTB_REQUIRED_C_FLAGS "${OTB_REQUIRED_C_FLAGS} -no-cpp-precomp")
+#              SET(OTB_REQUIRED_CXX_FLAGS "${OTB_REQUIRED_CXX_FLAGS} -no-cpp-precomp")
+#              SET(OTB_REQUIRED_CXX_FLAGS "${OTB_REQUIRED_CXX_FLAGS} -Wno-long-double")
+#            ENDIF(APPLE)
+#          ENDIF(CMAKE_COMPILER_IS_GNUCXX)
+
+#          IF(UNIX)
+#            IF(NOT CMAKE_COMPILER_IS_GNUCXX)
+#              INCLUDE(${OTB_SOURCE_DIR}/CMake/TestNO_ICC_IDYNAMIC_NEEDED.cmake)
+#              TESTNO_ICC_IDYNAMIC_NEEDED(NO_ICC_IDYNAMIC_NEEDED ${OTB_SOURCE_DIR}/CMake )
+#              IF(NO_ICC_IDYNAMIC_NEEDED)
+#                SET(OTB_REQUIRED_CXX_FLAGS "${OTB_REQUIRED_CXX_FLAGS}")
+#              ELSE(NO_ICC_IDYNAMIC_NEEDED)
+#                SET(OTB_REQUIRED_CXX_FLAGS "${OTB_REQUIRED_CXX_FLAGS} -i_dynamic")
+#              ENDIF(NO_ICC_IDYNAMIC_NEEDED)
+#            ENDIF(NOT CMAKE_COMPILER_IS_GNUCXX)
+#          ENDIF(UNIX)
 
 # Force the use of ansi cxx flags (i.e. -LANG:std on sgi )
-IF("x${CMAKE_ANSI_CXXFLAGS}" MATCHES "^x.*[^ ]")
-  SET(OTB_REQUIRED_CXX_FLAGS "${OTB_REQUIRED_CXX_FLAGS} ${CMAKE_ANSI_CXXFLAGS}")
-ENDIF("x${CMAKE_ANSI_CXXFLAGS}" MATCHES "^x.*[^ ]")
-IF("x${CMAKE_ANSI_CFLAGS}" MATCHES "^x.*[^ ]")
-  SET(OTB_REQUIRED_C_FLAGS "${OTB_REQUIRED_C_FLAGS} ${CMAKE_ANSI_CFLAGS}")
-ENDIF("x${CMAKE_ANSI_CFLAGS}" MATCHES "^x.*[^ ]")
-
-IF(CMAKE_SYSTEM MATCHES "IRIX.*")
-  IF(NOT CMAKE_COMPILER_IS_GNUCXX)
-    SET(OTB_REQUIRED_CXX_FLAGS "${OTB_REQUIRED_CXX_FLAGS} -woff 15,84,1110,1209,1424,1468,3102,3210,3439  -no_auto_include -ptused -no_prelink")
-    SET(OTB_REQUIRED_LINK_FLAGS "${OTB_REQUIRED_LINK_FLAGS}  -Wl,-woff15")
-  ENDIF(NOT CMAKE_COMPILER_IS_GNUCXX)
-ENDIF(CMAKE_SYSTEM MATCHES "IRIX.*")
+#          IF("x${CMAKE_ANSI_CXXFLAGS}" MATCHES "^x.*[^ ]")
+#            SET(OTB_REQUIRED_CXX_FLAGS "${OTB_REQUIRED_CXX_FLAGS} ${CMAKE_ANSI_CXXFLAGS}")
+#          ENDIF("x${CMAKE_ANSI_CXXFLAGS}" MATCHES "^x.*[^ ]")
+#          IF("x${CMAKE_ANSI_CFLAGS}" MATCHES "^x.*[^ ]")
+#            SET(OTB_REQUIRED_C_FLAGS "${OTB_REQUIRED_C_FLAGS} ${CMAKE_ANSI_CFLAGS}")
+#          ENDIF("x${CMAKE_ANSI_CFLAGS}" MATCHES "^x.*[^ ]")
+
+#          IF(CMAKE_SYSTEM MATCHES "IRIX.*")
+#            IF(NOT CMAKE_COMPILER_IS_GNUCXX)
+#              SET(OTB_REQUIRED_CXX_FLAGS "${OTB_REQUIRED_CXX_FLAGS} -woff 15,84,1110,1209,1424,1468,3102,3210,3439  -no_auto_include -ptused -no_prelink")
+#              SET(OTB_REQUIRED_LINK_FLAGS "${OTB_REQUIRED_LINK_FLAGS}  -Wl,-woff15")
+#            ENDIF(NOT CMAKE_COMPILER_IS_GNUCXX)
+#          ENDIF(CMAKE_SYSTEM MATCHES "IRIX.*")
 
 IF(MINGW)
   LINK_LIBRARIES(gdi32)
@@ -577,20 +581,20 @@ ENDIF(MINGW)
 
 # for the gnu compiler a -D_PTHREADS is needed on sun
 # for the native compiler a -mt flag is needed on the sun
-IF(CMAKE_USE_PTHREADS)
-  IF(CMAKE_SYSTEM MATCHES "SunOS.*")
-    IF(CMAKE_COMPILER_IS_GNUCXX)
-      SET(OTB_REQUIRED_CXX_FLAGS "${OTB_REQUIRED_CXX_FLAGS} -D_PTHREADS")
-    ELSE(CMAKE_COMPILER_IS_GNUCXX)
-      SET(OTB_REQUIRED_CXX_FLAGS "${OTB_REQUIRED_CXX_FLAGS} -mt")
-      SET(OTB_REQUIRED_C_FLAGS "${OTB_REQUIRED_C_FLAGS} -mt")
-    ENDIF(CMAKE_COMPILER_IS_GNUCXX)
-  ENDIF(CMAKE_SYSTEM MATCHES "SunOS.*")
-ENDIF(CMAKE_USE_PTHREADS)
-
-IF(WIN32)
-  SET(OTB_REQUIRED_CXX_FLAGS "${OTB_REQUIRED_CXX_FLAGS} -DNOMINMAX")
-ENDIF(WIN32)
+#          IF(CMAKE_USE_PTHREADS)
+#            IF(CMAKE_SYSTEM MATCHES "SunOS.*")
+#              IF(CMAKE_COMPILER_IS_GNUCXX)
+#                SET(OTB_REQUIRED_CXX_FLAGS "${OTB_REQUIRED_CXX_FLAGS} -D_PTHREADS")
+#              ELSE(CMAKE_COMPILER_IS_GNUCXX)
+#                SET(OTB_REQUIRED_CXX_FLAGS "${OTB_REQUIRED_CXX_FLAGS} -mt")
+#                SET(OTB_REQUIRED_C_FLAGS "${OTB_REQUIRED_C_FLAGS} -mt")
+#              ENDIF(CMAKE_COMPILER_IS_GNUCXX)
+#            ENDIF(CMAKE_SYSTEM MATCHES "SunOS.*")
+#          ENDIF(CMAKE_USE_PTHREADS)
+
+#          IF(WIN32)
+#            SET(OTB_REQUIRED_CXX_FLAGS "${OTB_REQUIRED_CXX_FLAGS} -DNOMINMAX")
+#          ENDIF(WIN32)
 
 #-----------------------------------------------------------------------------
 # Test for an Objective-C++ compiler.
@@ -612,119 +616,116 @@ IF(APPLE)
 ENDIF(APPLE)
 #-----------------------------------------------------------------------------
 # mingw thread support
-IF(MINGW)
-  SET(OTB_REQUIRED_CXX_FLAGS "${OTB_REQUIRED_CXX_FLAGS} -mthreads")
-  SET(OTB_REQUIRED_C_FLAGS "${OTB_REQUIRED_C_FLAGS} -mthreads")
-  SET(OTB_REQUIRED_LINK_FLAGS "${OTB_REQUIRED_LINK_FLAGS} -mthreads")
-ENDIF(MINGW)
+#          IF(MINGW)
+#            SET(OTB_REQUIRED_CXX_FLAGS "${OTB_REQUIRED_CXX_FLAGS} -mthreads")
+#            SET(OTB_REQUIRED_C_FLAGS "${OTB_REQUIRED_C_FLAGS} -mthreads")
+#            SET(OTB_REQUIRED_LINK_FLAGS "${OTB_REQUIRED_LINK_FLAGS} -mthreads")
+#          ENDIF(MINGW)
 
 
 #-----------------------------------------------------------------------------
+# => Comment for OTB 2.6.0
 #
 # See if compiler preprocessor has the __FUNCTION__ directive used by itkExceptionMacro
 #
-INCLUDE(${OTB_SOURCE_DIR}/CMake/CheckCPPDirective.cmake)
-CHECK_CPP_DIRECTIVE_EXISTS(__FUNCTION__ ITK_CPP_FUNCTION)
+#               INCLUDE(${OTB_SOURCE_DIR}/CMake/CheckCPPDirective.cmake)
+#               CHECK_CPP_DIRECTIVE_EXISTS(__FUNCTION__ ITK_CPP_FUNCTION)
 
 
 #-----------------------------------------------------------------------------
+# => Comment for OTB 2.6.0
 # Find platform-specific differences in the handling of IEEE floating point 
 # special values.
-INCLUDE(${OTB_SOURCE_DIR}/CMake/CheckBigBitfield.cmake)
-CHECK_BIG_BITFIELD(BIGBITFIELD_VALUE ${OTB_SOURCE_DIR}/CMake)
-IF(BIGBITFIELD_VALUE)
-   SET(BIGBITFIELD 1 CACHE INTERNAL "System handles bit-fields larger than 32 bits.")
-ELSE(BIGBITFIELD_VALUE)
-   SET(BIGBITFIELD 0 CACHE INTERNAL "System handles bit-fields larger than 32 bits.")
-ENDIF(BIGBITFIELD_VALUE)
-
-INCLUDE(${OTB_SOURCE_DIR}/CMake/TestQnanhibit.cmake)
-TEST_QNANHIBIT(QNANHIBIT_VALUE ${OTB_SOURCE_DIR}/CMake)
-IF(QNANHIBIT_VALUE)
-   SET(QNANHIBIT 1 CACHE INTERNAL "The 22nd bit of 32-bit floating-point quiet NaN.")
-ELSE(QNANHIBIT_VALUE)
-   SET(QNANHIBIT 0 CACHE INTERNAL "The 22nd bit of 32-bit floating-point quiet NaN.")
-ENDIF(QNANHIBIT_VALUE)
-
-IF("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.0)
-ELSE("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.0)
+#          INCLUDE(${OTB_SOURCE_DIR}/CMake/CheckBigBitfield.cmake)
+#          CHECK_BIG_BITFIELD(BIGBITFIELD_VALUE ${OTB_SOURCE_DIR}/CMake)
+#          IF(BIGBITFIELD_VALUE)
+#             SET(BIGBITFIELD 1 CACHE INTERNAL "System handles bit-fields larger than 32 bits.")
+#          ELSE(BIGBITFIELD_VALUE)
+#             SET(BIGBITFIELD 0 CACHE INTERNAL "System handles bit-fields larger than 32 bits.")
+#          ENDIF(BIGBITFIELD_VALUE)
+
+# => Comment for OTB 2.6.0
+#          INCLUDE(${OTB_SOURCE_DIR}/CMake/TestQnanhibit.cmake)
+#          TEST_QNANHIBIT(QNANHIBIT_VALUE ${OTB_SOURCE_DIR}/CMake)
+#          IF(QNANHIBIT_VALUE)
+#             SET(QNANHIBIT 1 CACHE INTERNAL "The 22nd bit of 32-bit floating-point quiet NaN.")
+#          ELSE(QNANHIBIT_VALUE)
+#             SET(QNANHIBIT 0 CACHE INTERNAL "The 22nd bit of 32-bit floating-point quiet NaN.")
+#          ENDIF(QNANHIBIT_VALUE)
+
 INCLUDE(CheckTypeSize)
-ENDIF("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.0)
 
 CHECK_TYPE_SIZE("long long" OTB_SIZEOF_LONG_LONG)
 CHECK_TYPE_SIZE("__int64"   OTB_SIZEOF___INT64)
-CHECK_TYPE_SIZE("float" OTB_SIZEOF_FLOAT)
-CHECK_TYPE_SIZE("double" OTB_SIZEOF_DOUBLE)
 CHECK_TYPE_SIZE("long int" OTB_SIZEOF_LONG_INT)
-CHECK_TYPE_SIZE("int" OTB_SIZEOF_INT)
 CHECK_TYPE_SIZE("short int" OTB_SIZEOF_SHORT_INT)
 
-IF(OTB_SIZEOF___INT64)
-  IF("OTB_TYPE_SAME_LONG_AND___INT64" MATCHES "^OTB_TYPE_SAME_LONG_AND___INT64$")
-    MESSAGE(STATUS "Checking whether long and __int64 are the same type")
-    TRY_COMPILE(OTB_TYPE_SAME_LONG_AND___INT64
-      ${OTB_BINARY_DIR}/CMakeTmp
-      ${OTB_SOURCE_DIR}/CMake/otbTestCompareTypes.cxx
-      COMPILE_DEFINITIONS
-      -DOTB_TEST_COMPARE_TYPE_1=long
-      -DOTB_TEST_COMPARE_TYPE_2=__int64
-      OUTPUT_VARIABLE OUTPUT)
-    IF(OTB_TYPE_SAME_LONG_AND___INT64)
-      MESSAGE(STATUS "Checking whether long and __int64 are the same type -- yes")
-      SET(OTB_TYPE_SAME_LONG_AND___INT64 1 CACHE INTERNAL "Whether long and __int64 are the same type")
-    ELSE(OTB_TYPE_SAME_LONG_AND___INT64)
-      MESSAGE(STATUS "Checking whether long and __int64 are the same type -- no")
-      SET(OTB_TYPE_SAME_LONG_AND___INT64 0 CACHE INTERNAL "Whether long and __int64 are the same type")
-      WRITE_FILE(${CMAKE_BINARY_DIR}/CMakeError.log
-        "Determining whether long and __int64 are the same type "
-        "failed with the following output:\n"
-        "${OUTPUT}\n" APPEND)
-    ENDIF(OTB_TYPE_SAME_LONG_AND___INT64)
-  ENDIF("OTB_TYPE_SAME_LONG_AND___INT64" MATCHES "^OTB_TYPE_SAME_LONG_AND___INT64$")
-ENDIF(OTB_SIZEOF___INT64)
-
-IF(OTB_SIZEOF_LONG_LONG)
-  CONFIGURE_FILE(${OTB_SOURCE_DIR}/CMake/otbTestStreamLongLong.cxx.in
-    ${OTB_BINARY_DIR}/otbTestStreamLongLong.cxx @ONLY IMMEDIATE)
-  IF("OTB_OSTREAM_SUPPORTS_LONG_LONG" MATCHES "^OTB_OSTREAM_SUPPORTS_LONG_LONG$")
-    MESSAGE(STATUS "Checking if ostream supports long long")
-    TRY_COMPILE(OTB_OSTREAM_SUPPORTS_LONG_LONG
-      ${OTB_BINARY_DIR}
-      ${OTB_BINARY_DIR}/otbTestStreamLongLong.cxx
-      COMPILE_DEFINITIONS -DOTB_TEST_OSTREAM_LONG_LONG
-      OUTPUT_VARIABLE OUTPUT)
-    IF(OTB_OSTREAM_SUPPORTS_LONG_LONG)
-      MESSAGE(STATUS "Checking if ostream supports long long -- yes")
-      SET(OTB_OSTREAM_SUPPORTS_LONG_LONG 1 CACHE INTERNAL "Whether ostream supports long long")
-    ELSE(OTB_OSTREAM_SUPPORTS_LONG_LONG)
-      MESSAGE(STATUS "Checking if ostream supports long long -- no")
-      SET(OTB_OSTREAM_SUPPORTS_LONG_LONG 0 CACHE INTERNAL "Whether ostream supports long long")
-      WRITE_FILE(${CMAKE_BINARY_DIR}/CMakeError.log
-        "Determining if ostream supports long long "
-        "failed with the following output:\n"
-        "${OUTPUT}\n" APPEND)
-    ENDIF(OTB_OSTREAM_SUPPORTS_LONG_LONG)
-  ENDIF("OTB_OSTREAM_SUPPORTS_LONG_LONG" MATCHES "^OTB_OSTREAM_SUPPORTS_LONG_LONG$")
-  IF("OTB_ISTREAM_SUPPORTS_LONG_LONG" MATCHES "^OTB_ISTREAM_SUPPORTS_LONG_LONG$")
-    MESSAGE(STATUS "Checking if istream supports long long")
-    TRY_COMPILE(OTB_ISTREAM_SUPPORTS_LONG_LONG
-      ${OTB_BINARY_DIR}
-      ${OTB_BINARY_DIR}/otbTestStreamLongLong.cxx
-      COMPILE_DEFINITIONS -DOTB_TEST_ISTREAM_LONG_LONG
-      OUTPUT_VARIABLE OUTPUT)
-    IF(OTB_ISTREAM_SUPPORTS_LONG_LONG)
-      MESSAGE(STATUS "Checking if istream supports long long -- yes")
-      SET(OTB_ISTREAM_SUPPORTS_LONG_LONG 1 CACHE INTERNAL "Whether istream supports long long")
-    ELSE(OTB_ISTREAM_SUPPORTS_LONG_LONG)
-      MESSAGE(STATUS "Checking if istream supports long long -- no")
-      SET(OTB_ISTREAM_SUPPORTS_LONG_LONG 0 CACHE INTERNAL "Whether istream supports long long")
-      WRITE_FILE(${CMAKE_BINARY_DIR}/CMakeError.log
-        "Determining if istream supports long long "
-        "failed with the following output:\n"
-        "${OUTPUT}\n" APPEND)
-    ENDIF(OTB_ISTREAM_SUPPORTS_LONG_LONG)
-  ENDIF("OTB_ISTREAM_SUPPORTS_LONG_LONG" MATCHES "^OTB_ISTREAM_SUPPORTS_LONG_LONG$")
-ENDIF(OTB_SIZEOF_LONG_LONG)
+# => Comment for OTB 2.6.0
+#          IF(OTB_SIZEOF___INT64)
+#            IF("OTB_TYPE_SAME_LONG_AND___INT64" MATCHES "^OTB_TYPE_SAME_LONG_AND___INT64$")
+#              MESSAGE(STATUS "Checking whether long and __int64 are the same type")
+#              TRY_COMPILE(OTB_TYPE_SAME_LONG_AND___INT64
+#                ${OTB_BINARY_DIR}/CMakeTmp
+#                ${OTB_SOURCE_DIR}/CMake/otbTestCompareTypes.cxx
+#                COMPILE_DEFINITIONS
+#                -DOTB_TEST_COMPARE_TYPE_1=long
+#                -DOTB_TEST_COMPARE_TYPE_2=__int64
+#                OUTPUT_VARIABLE OUTPUT)
+#              IF(OTB_TYPE_SAME_LONG_AND___INT64)
+#                MESSAGE(STATUS "Checking whether long and __int64 are the same type -- yes")
+#                SET(OTB_TYPE_SAME_LONG_AND___INT64 1 CACHE INTERNAL "Whether long and __int64 are the same type")
+#              ELSE(OTB_TYPE_SAME_LONG_AND___INT64)
+#                MESSAGE(STATUS "Checking whether long and __int64 are the same type -- no")
+#                SET(OTB_TYPE_SAME_LONG_AND___INT64 0 CACHE INTERNAL "Whether long and __int64 are the same type")
+#                WRITE_FILE(${CMAKE_BINARY_DIR}/CMakeError.log
+#                  "Determining whether long and __int64 are the same type "
+#                  "failed with the following output:\n"
+#                  "${OUTPUT}\n" APPEND)
+#              ENDIF(OTB_TYPE_SAME_LONG_AND___INT64)
+#            ENDIF("OTB_TYPE_SAME_LONG_AND___INT64" MATCHES "^OTB_TYPE_SAME_LONG_AND___INT64$")
+#          ENDIF(OTB_SIZEOF___INT64)
+#          IF(OTB_SIZEOF_LONG_LONG)
+#            CONFIGURE_FILE(${OTB_SOURCE_DIR}/CMake/otbTestStreamLongLong.cxx.in
+#              ${OTB_BINARY_DIR}/otbTestStreamLongLong.cxx @ONLY IMMEDIATE)
+#            IF("OTB_OSTREAM_SUPPORTS_LONG_LONG" MATCHES "^OTB_OSTREAM_SUPPORTS_LONG_LONG$")
+#              MESSAGE(STATUS "Checking if ostream supports long long")
+#              TRY_COMPILE(OTB_OSTREAM_SUPPORTS_LONG_LONG
+#                ${OTB_BINARY_DIR}
+#                ${OTB_BINARY_DIR}/otbTestStreamLongLong.cxx
+#                COMPILE_DEFINITIONS -DOTB_TEST_OSTREAM_LONG_LONG
+#                OUTPUT_VARIABLE OUTPUT)
+#              IF(OTB_OSTREAM_SUPPORTS_LONG_LONG)
+#                MESSAGE(STATUS "Checking if ostream supports long long -- yes")
+#                SET(OTB_OSTREAM_SUPPORTS_LONG_LONG 1 CACHE INTERNAL "Whether ostream supports long long")
+#              ELSE(OTB_OSTREAM_SUPPORTS_LONG_LONG)
+#                MESSAGE(STATUS "Checking if ostream supports long long -- no")
+#                SET(OTB_OSTREAM_SUPPORTS_LONG_LONG 0 CACHE INTERNAL "Whether ostream supports long long")
+#                WRITE_FILE(${CMAKE_BINARY_DIR}/CMakeError.log
+#                  "Determining if ostream supports long long "
+#                  "failed with the following output:\n"
+#                  "${OUTPUT}\n" APPEND)
+#              ENDIF(OTB_OSTREAM_SUPPORTS_LONG_LONG)
+#            ENDIF("OTB_OSTREAM_SUPPORTS_LONG_LONG" MATCHES "^OTB_OSTREAM_SUPPORTS_LONG_LONG$")
+#            IF("OTB_ISTREAM_SUPPORTS_LONG_LONG" MATCHES "^OTB_ISTREAM_SUPPORTS_LONG_LONG$")
+#              MESSAGE(STATUS "Checking if istream supports long long")
+#              TRY_COMPILE(OTB_ISTREAM_SUPPORTS_LONG_LONG
+#                ${OTB_BINARY_DIR}
+#                ${OTB_BINARY_DIR}/otbTestStreamLongLong.cxx
+#                COMPILE_DEFINITIONS -DOTB_TEST_ISTREAM_LONG_LONG
+#                OUTPUT_VARIABLE OUTPUT)
+#              IF(OTB_ISTREAM_SUPPORTS_LONG_LONG)
+#                MESSAGE(STATUS "Checking if istream supports long long -- yes")
+#                SET(OTB_ISTREAM_SUPPORTS_LONG_LONG 1 CACHE INTERNAL "Whether istream supports long long")
+#              ELSE(OTB_ISTREAM_SUPPORTS_LONG_LONG)
+#                MESSAGE(STATUS "Checking if istream supports long long -- no")
+#                SET(OTB_ISTREAM_SUPPORTS_LONG_LONG 0 CACHE INTERNAL "Whether istream supports long long")
+#                WRITE_FILE(${CMAKE_BINARY_DIR}/CMakeError.log
+#                  "Determining if istream supports long long "
+#                  "failed with the following output:\n"
+#                  "${OUTPUT}\n" APPEND)
+#              ENDIF(OTB_ISTREAM_SUPPORTS_LONG_LONG)
+#            ENDIF("OTB_ISTREAM_SUPPORTS_LONG_LONG" MATCHES "^OTB_ISTREAM_SUPPORTS_LONG_LONG$")
+#          ENDIF(OTB_SIZEOF_LONG_LONG)
 
 
 #-----------------------------------------------------------------------------
@@ -797,27 +798,20 @@ SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${OTB_REQUIRED_LINK_
 SET(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${OTB_REQUIRED_LINK_FLAGS}")
 
 #-----------------------------------------------------------------------------
+# => Comment for OTB 2.6.0
 # The frename-registers option does not work due to a bug in the gnu compiler.
 # It must be removed or data errors will be produced and incorrect results
 # will be produced.  This is first documented in the gcc4 man page.
-IF(CMAKE_COMPILER_IS_GNUCXX)
-  SET(ALL_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_CXX_FLAGS} ${CMAKE_EXE_LINKER_FLAGS} ${CMAKE_SHARED_LINKER_FLAGS} ${CMAKE_MODULE_LINKER_FLAGS}" )
-  SEPARATE_ARGUMENTS(ALL_FLAGS)
-  FOREACH(COMP_OPTION ${ALL_FLAGS})
-    #  MESSAGE("${COMP_OPTION} being checked.")
-    IF("${COMP_OPTION}" STREQUAL "-frename-registers")
-      MESSAGE(FATAL_ERROR "-frename-registers causes runtime bugs.  It must be removed from your compilation options.")
-    ENDIF("${COMP_OPTION}" STREQUAL "-frename-registers")
-    IF("${COMP_OPTION}" STREQUAL "-ffloat-store")
-      MESSAGE(FATAL_ERROR "-ffloat-store causes runtime bugs on gcc 3.2.3 (appearently not on gcc 3.4.3, but the exact criteria is not known).  It must be removed from your compilation options.")
-    ENDIF("${COMP_OPTION}" STREQUAL "-ffloat-store")
-  ENDFOREACH(COMP_OPTION)
-ENDIF(CMAKE_COMPILER_IS_GNUCXX)
-
-# If the version of CMake was too old, complain and build nothing.
-# These should be the last lines in this file.
-ELSE("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" GREATER 1.7)
-  MESSAGE(SEND_ERROR
-          "This version of CMake is too old to build this version of OTB.  "
-          "Please upgrade to CMake 1.8.")
-ENDIF("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" GREATER 1.7)
+#          IF(CMAKE_COMPILER_IS_GNUCXX)
+#            SET(ALL_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_CXX_FLAGS} ${CMAKE_EXE_LINKER_FLAGS} ${CMAKE_SHARED_LINKER_FLAGS} ${CMAKE_MODULE_LINKER_FLAGS}" )
+#            SEPARATE_ARGUMENTS(ALL_FLAGS)
+#            FOREACH(COMP_OPTION ${ALL_FLAGS})
+#              #  MESSAGE("${COMP_OPTION} being checked.")
+#              IF("${COMP_OPTION}" STREQUAL "-frename-registers")
+#                MESSAGE(FATAL_ERROR "-frename-registers causes runtime bugs.  It must be removed from your compilation options.")
+#              ENDIF("${COMP_OPTION}" STREQUAL "-frename-registers")
+#              IF("${COMP_OPTION}" STREQUAL "-ffloat-store")
+#                MESSAGE(FATAL_ERROR "-ffloat-store causes runtime bugs on gcc 3.2.3 (appearently not on gcc 3.4.3, but the exact criteria is not known).  It must be removed from your compilation options.")
+#              ENDIF("${COMP_OPTION}" STREQUAL "-ffloat-store")
+#            ENDFOREACH(COMP_OPTION)
+#          ENDIF(CMAKE_COMPILER_IS_GNUCXX)
diff --git a/Utilities/otbossim/include/ossim/ossimConfig.h.in b/Utilities/otbossim/include/ossim/ossimConfig.h.in
index 07ccfc3257c6807379a91b862f811fe126ecdcf9..8457733ef9c818ae3acfc054f1bea2d85ff2ce5d 100644
--- a/Utilities/otbossim/include/ossim/ossimConfig.h.in
+++ b/Utilities/otbossim/include/ossim/ossimConfig.h.in
@@ -91,13 +91,14 @@
 /* Define to the correct byte sizes.  
  * If not available define to 0 so OSSIM uses the defaults
  */
-#define OSSIM_SIZEOF_FLOAT      @OTB_SIZEOF_FLOAT@
-#define OSSIM_SIZEOF_DOUBLE     @OTB_SIZEOF_DOUBLE@
 #define OSSIM_SIZEOF_LONG_LONG  @OTB_SIZEOF_LONG_LONG@
 #define OSSIM_SIZEOF_LONG_INT   @OTB_SIZEOF_LONG_INT@
-#define OSSIM_SIZEOF_INT        @OTB_SIZEOF_INT@
 #define OSSIM_SIZEOF_SHORT_INT  @OTB_SIZEOF_SHORT_INT@
 
+#define OSSIM_SIZEOF_FLOAT      @CMAKE_SIZEOF_FLOAT@
+#define OSSIM_SIZEOF_DOUBLE     @CMAKE_SIZEOF_DOUBLE@
+#define OSSIM_SIZEOF_INT        @CMAKE_SIZEOF_INT@
+
 /* These are OS specific defines */
 #define __OSSIM_LINUX__ 0
 #define __OSSIM_DARWIN__ 0