diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2a2c65b7b12a71a62d344cb2ffcba702d9bc83e5..690500e7a1eeaace3765a4df9cc1961fe288bab7 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -66,87 +66,6 @@ SET(OTB_VERSION_STRING "${OTB_VERSION_MAJOR}.${OTB_VERSION_MINOR}.${OTB_VERSION_
 #-----------------------------------------------------------------------------
 # FIND EXTERNAL LIBRAIRIES USE
 
-#-------------------------------
-# Librairie ITK
-#-------------------------------
-
-OPTION(OTB_USE_EXTERNAL_ITK "Use an outside build of ITK." OFF)
-IF(OTB_USE_EXTERNAL_ITK)
-  FIND_PACKAGE(ITK)
-  IF(ITK_FOUND)
-                  INCLUDE(${ITK_USE_FILE})
-  ELSE(ITK_FOUND)
-                  MESSAGE(FATAL_ERROR
-                  "Cannot build OTB project without ITK.  Please set ITK_DIR or set OTB_USE_EXTERNAL_ITK OFF to use INTERNAL ITK set on OTB/Utilities repository.")
-        ENDIF(ITK_FOUND)
-ENDIF(OTB_USE_EXTERNAL_ITK)
-
-#SET(CURL_INCLUDE_DIR )
-#MARK_AS_ADVANCED(CURL_INCLUDE_DIRS)
-#SET(CURL_LIBRARY )
-#MARK_AS_ADVANCED(CURL_LIBRARY_DIRS)
-
-#-------------------------------
-# CURL Library
-#-------------------------------
-OPTION(OTB_USE_CURL "Use curl library." OFF)
-MARK_AS_ADVANCED(OTB_USE_CURL)
-IF(OTB_USE_CURL)
-
-#        INCLUDE(CheckIncludeFiles)
-#        INCLUDE(CheckLibraryExists)
-#        CHECK_INCLUDE_FILES("curl/curl.h" OTB_HAVE_CURL_HEADER)
-#        CHECK_LIBRARY_EXISTS("curl" "curl_easy_init" "" OTB_HAVE_CURL_LIBRARY)
-#        IF( NOT OTB_HAVE_CURL_HEADER )
-#            MESSAGE("Cannot find CURL include directory. Please set CURL_INCLUDE_DIRS or SET OTB_USE_CURL OFF.")
-#        ENDIF( NOT OTB_HAVE_CURL_HEADER)
-#        IF( NOT OTB_HAVE_CURL_LIBRARY )
-#            MESSAGE("Cannot find CURL include directory. Please set CURL_LIBRARY_DIRS or SET OTB_USE_CURL OFF.")
-#        ENDIF( NOT OTB_HAVE_CURL_LIBRARY)
-
-        FIND_PATH(CURL_INCLUDE_DIR curl/curl.h PATHS)
-        MARK_AS_ADVANCED(CURL_INCLUDE_DIR)
-        IF (NOT CURL_INCLUDE_DIR)
-                MESSAGE(FATAL_ERROR
-                        "Cannot find CURL include directory. Please set CURL_INCLUDE_DIR or SET OTB_USE_CURL OFF.")
-        ENDIF (NOT CURL_INCLUDE_DIR)
-
-        FIND_LIBRARY(CURL_LIBRARY curl )
-        MARK_AS_ADVANCED(CURL_LIBRARY)
-        IF (NOT CURL_LIBRARY)
-                MESSAGE(FATAL_ERROR
-                        "Cannot find CURL library. Please set CURL_LIBRARY or SET OTB_USE_CURL OFF.")
-        ENDIF (NOT CURL_LIBRARY)
-
-        # Add compiler option 
-        ADD_DEFINITIONS(-DOTB_USE_CURL)
-
-        INCLUDE_DIRECTORIES(${CURL_INCLUDE_DIR})
-
-ENDIF(OTB_USE_CURL)
-
-
-#-------------------------------
-# GDAL Library
-#-------------------------------
-
-#FIND_LIBRARY(GDAL_LIBRARY_DIRS gdal PATHS $ENV{GDAL_LIBRARY_DIRS} ) 
-
-FIND_PATH(GDAL_LIBRARY_DIRS gdal PATHS $ENV{GDAL_LIBRARY_DIRS} )
-FIND_PATH(GDAL_INCLUDE_DIRS gdal.h $ENV{GDAL_INCLUDE_DIRS} /usr/include/gdal)
-IF (NOT GDAL_LIBRARY_DIRS)
-MESSAGE(FATAL_ERROR
-         "Cannot find GDAL library directory. Please set GDAL_LIBRARY_DIRS.")
-ENDIF (NOT GDAL_LIBRARY_DIRS)
-IF (NOT GDAL_INCLUDE_DIRS)
-MESSAGE(FATAL_ERROR
-         "Cannot find GDAL include directory. Please set GDAL_INCLUDE_DIRS.")
-ENDIF (NOT GDAL_INCLUDE_DIRS)
-
-
-INCLUDE_DIRECTORIES(${GDAL_INCLUDE_DIRS})
-LINK_DIRECTORIES( ${GDAL_LIBRARY_DIRS} )
-
 #-----------------------------------------------------------------------------
 # Option for generate Visu tools !!!
 OPTION(OTB_USE_VISU_GUI "Generate Gui/Visu tools directory. If ON, find OpenGL and FLTK package." ON)
@@ -155,15 +74,19 @@ MARK_AS_ADVANCED(OTB_USE_VISU_GUI)
 IF(OTB_USE_VISU_GUI)
 
         #-------------------------------
-        # Librairie OpenGL
+        # openGL Library
         #-------------------------------
         FIND_PACKAGE(OpenGL)
         IF(OPENGL_INCLUDE_PATH)
                 INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_PATH})
         ENDIF(OPENGL_INCLUDE_PATH)
+   MESSAGE("OPENGL_INCLUDE_PATH -> ${OPENGL_INCLUDE_PATH}")
+   MESSAGE("OPENGL_INCLUDE_DIR -> ${OPENGL_INCLUDE_DIR}")
+#   MESSAGE("OPENGL_LIBRARIES -> ${OPENGL_LIBRARIES}")
+#   MESSAGE("OPENGL_LIBRARY -> ${OPENGL_LIBRARY}")
 
         #-------------------------------
-        # Librairie FLTK
+        # FLTK Library
         #-------------------------------
 
         # Option for internal/external FLTK 
@@ -262,16 +185,98 @@ IF(OTB_USE_VISU_GUI)
         
 ENDIF(OTB_USE_VISU_GUI)
 
-#  MESSAGE("FLUID_COMMAND -> ${FLUID_COMMAND}")
-#  MESSAGE("FLTK_BINARY_DIR -> ${FLTK_BINARY_DIR}")
-#  MESSAGE("FLTK_USE_FILE  -> ${FLTK_USE_FILE}")
-#  MESSAGE("FLTK_INCLUDE_DIRS  -> ${FLTK_INCLUDE_DIRS}")
-#  MESSAGE("FLTK_LIBRARY_DIRS  -> ${FLTK_LIBRARY_DIRS}")
-#  MESSAGE("FLTK_LIBRARIES  -> ${FLTK_LIBRARIES}")
-#  MESSAGE("FLTK_DIR  -> ${FLTK_DIR}")
-#  MESSAGE("FLTK_FLUID_COMMAND  -> ${FLTK_FLUID_COMMAND}")
-#  MESSAGE("FLTK_EXECUTABLE_DIRS  -> ${FLTK_EXECUTABLE_DIRS}")
-#  MESSAGE("OTB_VISU_GUI_LIBRARIES  -> ${OTB_VISU_GUI_LIBRARIES}")
+#MESSAGE("FLUID_COMMAND -> ${FLUID_COMMAND}")
+#MESSAGE("FLTK_BINARY_DIR -> ${FLTK_BINARY_DIR}")
+#MESSAGE("FLTK_USE_FILE  -> ${FLTK_USE_FILE}")
+#MESSAGE("FLTK_INCLUDE_DIRS  -> ${FLTK_INCLUDE_DIRS}")
+#MESSAGE("FLTK_LIBRARY_DIRS  -> ${FLTK_LIBRARY_DIRS}")
+#MESSAGE("FLTK_LIBRARIES  -> ${FLTK_LIBRARIES}")
+#MESSAGE("FLTK_DIR  -> ${FLTK_DIR}")
+#MESSAGE("FLTK_FLUID_COMMAND  -> ${FLTK_FLUID_COMMAND}")
+#MESSAGE("FLTK_EXECUTABLE_DIRS  -> ${FLTK_EXECUTABLE_DIRS}")
+#MESSAGE("OTB_VISU_GUI_LIBRARIES  -> ${OTB_VISU_GUI_LIBRARIES}")
+
+
+#-------------------------------
+# ITK Library
+#-------------------------------
+
+OPTION(OTB_USE_EXTERNAL_ITK "Use an outside build of ITK." OFF)
+IF(OTB_USE_EXTERNAL_ITK)
+  FIND_PACKAGE(ITK)
+  IF(ITK_FOUND)
+                  INCLUDE(${ITK_USE_FILE})
+  ELSE(ITK_FOUND)
+                  MESSAGE(FATAL_ERROR
+                  "Cannot build OTB project without ITK.  Please set ITK_DIR or set OTB_USE_EXTERNAL_ITK OFF to use INTERNAL ITK set on OTB/Utilities repository.")
+        ENDIF(ITK_FOUND)
+ENDIF(OTB_USE_EXTERNAL_ITK)
+
+#SET(CURL_INCLUDE_DIR )
+#MARK_AS_ADVANCED(CURL_INCLUDE_DIRS)
+#SET(CURL_LIBRARY )
+#MARK_AS_ADVANCED(CURL_LIBRARY_DIRS)
+
+#-------------------------------
+# CURL Library
+#-------------------------------
+OPTION(OTB_USE_CURL "Use curl library." OFF)
+MARK_AS_ADVANCED(OTB_USE_CURL)
+IF(OTB_USE_CURL)
+
+#        INCLUDE(CheckIncludeFiles)
+#        INCLUDE(CheckLibraryExists)
+#        CHECK_INCLUDE_FILES("curl/curl.h" OTB_HAVE_CURL_HEADER)
+#        CHECK_LIBRARY_EXISTS("curl" "curl_easy_init" "" OTB_HAVE_CURL_LIBRARY)
+#        IF( NOT OTB_HAVE_CURL_HEADER )
+#            MESSAGE("Cannot find CURL include directory. Please set CURL_INCLUDE_DIRS or SET OTB_USE_CURL OFF.")
+#        ENDIF( NOT OTB_HAVE_CURL_HEADER)
+#        IF( NOT OTB_HAVE_CURL_LIBRARY )
+#            MESSAGE("Cannot find CURL include directory. Please set CURL_LIBRARY_DIRS or SET OTB_USE_CURL OFF.")
+#        ENDIF( NOT OTB_HAVE_CURL_LIBRARY)
+
+        FIND_PATH(CURL_INCLUDE_DIR curl/curl.h PATHS)
+        MARK_AS_ADVANCED(CURL_INCLUDE_DIR)
+        IF (NOT CURL_INCLUDE_DIR)
+                MESSAGE(FATAL_ERROR
+                        "Cannot find CURL include directory. Please set CURL_INCLUDE_DIR or SET OTB_USE_CURL OFF.")
+        ENDIF (NOT CURL_INCLUDE_DIR)
+
+        FIND_LIBRARY(CURL_LIBRARY curl )
+        MARK_AS_ADVANCED(CURL_LIBRARY)
+        IF (NOT CURL_LIBRARY)
+                MESSAGE(FATAL_ERROR
+                        "Cannot find CURL library. Please set CURL_LIBRARY or SET OTB_USE_CURL OFF.")
+        ENDIF (NOT CURL_LIBRARY)
+
+        # Add compiler option 
+        ADD_DEFINITIONS(-DOTB_USE_CURL)
+
+        INCLUDE_DIRECTORIES(${CURL_INCLUDE_DIR})
+
+ENDIF(OTB_USE_CURL)
+
+
+#-------------------------------
+# GDAL Library
+#-------------------------------
+
+#FIND_LIBRARY(GDAL_LIBRARY_DIRS gdal PATHS $ENV{GDAL_LIBRARY_DIRS} ) 
+
+FIND_PATH(GDAL_LIBRARY_DIRS gdal PATHS $ENV{GDAL_LIBRARY_DIRS} )
+FIND_PATH(GDAL_INCLUDE_DIRS gdal.h $ENV{GDAL_INCLUDE_DIRS} /usr/include/gdal)
+IF (NOT GDAL_LIBRARY_DIRS)
+MESSAGE(FATAL_ERROR
+         "Cannot find GDAL library directory. Please set GDAL_LIBRARY_DIRS.")
+ENDIF (NOT GDAL_LIBRARY_DIRS)
+IF (NOT GDAL_INCLUDE_DIRS)
+MESSAGE(FATAL_ERROR
+         "Cannot find GDAL include directory. Please set GDAL_INCLUDE_DIRS.")
+ENDIF (NOT GDAL_INCLUDE_DIRS)
+
+
+INCLUDE_DIRECTORIES(${GDAL_INCLUDE_DIRS})
+LINK_DIRECTORIES( ${GDAL_LIBRARY_DIRS} )
 
 
 #-------------------------------
@@ -455,6 +460,15 @@ IF(WIN32)
    SET(BUILD_SHARED_LIBS OFF)
 ENDIF(WIN32)
 
+IF(OTB_USE_VISU_GUI)
+    SET(OTB_VISU_GUI_LIBRARIES "${FLTK_LIBRARIES};${OPENGL_LIBRARIES};${FLTK_PLATFORM_DEPENDENT_LIBS}")
+        IF(APPLE)
+            SET(OTB_VISU_GUI_LIBRARIES "${OTB_VISU_GUI_LIBRARIES} -Wl,-dylib_file,/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib:/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib ")
+        ENDIF(APPLE)
+ELSE(OTB_USE_VISU_GUI)
+        SET(OTB_VISU_GUI_LIBRARIES "")
+ENDIF(OTB_USE_VISU_GUI)
+
 
 OPTION(BUILD_EXAMPLES "Build the Examples directory." OFF)
 OPTION(BUILD_TESTING "Build testing." OFF)
@@ -465,7 +479,6 @@ SUBDIRS(Utilities Code)
 
 SUBDIRS(Wrapping)
 
-
 IF (BUILD_EXAMPLES)
   SUBDIRS(Examples)
 ENDIF (BUILD_EXAMPLES)
@@ -474,7 +487,6 @@ IF (BUILD_TESTING)
   SUBDIRS(Testing)
 ENDIF (BUILD_TESTING)
 
-
 #-----------------------------------------------------------------------------
 # OTB requires special compiler flags on some platforms.
 IF(CMAKE_COMPILER_IS_GNUCXX)
@@ -696,12 +708,6 @@ INCLUDE_DIRECTORIES(
   ${OTB_INCLUDE_DIRS_SYSTEM}
 )
 
-IF(OTB_USE_VISU_GUI)
-        SET(OTB_VISU_GUI_LIBRARIES "${FLTK_LIBRARIES};${OPENGL_LIBRARIES};${FLTK_PLATFORM_DEPENDENT_LIBS}")
-ELSE(OTB_USE_VISU_GUI)
-        SET(OTB_VISU_GUI_LIBRARIES "")
-ENDIF(OTB_USE_VISU_GUI)
-
 #-----------------------------------------------------------------------------
 # Uninstall cmake use to uninstall OTB.
 CONFIGURE_FILE(
@@ -730,7 +736,6 @@ EXPORT_LIBRARY_DEPENDENCIES(${OTB_BINARY_DIR}/OTBLibraryDepends.cmake)
 # Create the OTBConfig.cmake file containing the OTB configuration.
 INCLUDE (${OTB_SOURCE_DIR}/otbGenerateOTBConfig.cmake)
 
-
 # Install some files.
 INSTALL_FILES(/include/otb .h otbConfigure)
 INSTALL_FILES(/lib/otb .cmake UseOTB OTBLibraryDepends OTBConfig )
@@ -771,3 +776,4 @@ ELSE("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" GREATER 1.7)
           "Please upgrade to CMake 1.8.")
 ENDIF("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" GREATER 1.7)
 
+