diff --git a/OTBConfig.cmake.in b/CMake/OTBConfig.cmake.in
similarity index 100%
rename from OTBConfig.cmake.in
rename to CMake/OTBConfig.cmake.in
diff --git a/UseOTB.cmake.in b/CMake/UseOTB.cmake.in
similarity index 100%
rename from UseOTB.cmake.in
rename to CMake/UseOTB.cmake.in
diff --git a/otbConfigure.h.in b/CMake/otbConfigure.h.in
similarity index 100%
rename from otbConfigure.h.in
rename to CMake/otbConfigure.h.in
diff --git a/otbGenerateOTBConfig.cmake b/CMake/otbGenerateOTBConfig.cmake
similarity index 96%
rename from otbGenerateOTBConfig.cmake
rename to CMake/otbGenerateOTBConfig.cmake
index ec099abc5e38ec55e60d6abb31c0a50f1655fd9a..f98b3ca83e3f4d7a215536047c246809e9609444 100644
--- a/otbGenerateOTBConfig.cmake
+++ b/CMake/otbGenerateOTBConfig.cmake
@@ -37,7 +37,7 @@ SET(OTB_INCLUDE_DIRS_CONFIG
 
 #-----------------------------------------------------------------------------
 # Configure OTBConfig.cmake for the BUILD tree.
-CONFIGURE_FILE(${OTB_SOURCE_DIR}/OTBConfig.cmake.in
+CONFIGURE_FILE(${OTB_SOURCE_DIR}/CMake/OTBConfig.cmake.in
                ${OTB_BINARY_DIR}/OTBConfig.cmake @ONLY IMMEDIATE)
 
 #-----------------------------------------------------------------------------
@@ -88,6 +88,6 @@ FOREACH(p ${OTB_INSTALL_PACKAGE_DIR_COUNT})
     )
 ENDFOREACH(p)
 
-CONFIGURE_FILE(${OTB_SOURCE_DIR}/OTBConfig.cmake.in
+CONFIGURE_FILE(${OTB_SOURCE_DIR}/CMake/OTBConfig.cmake.in
                ${OTB_BINARY_DIR}/Utilities/OTBConfig.cmake @ONLY IMMEDIATE)
                
diff --git a/otbIncludeDirectories.cmake b/CMake/otbIncludeDirectories.cmake
similarity index 100%
rename from otbIncludeDirectories.cmake
rename to CMake/otbIncludeDirectories.cmake
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0e9c9c5ee700d84f30ed92344dae7a1c65a16b49..5c7b65ddde04d238d27cbf1766d0ef19b4bc5e55 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -237,7 +237,7 @@ ENDMACRO(OTB_ADD_EXECUTABLE)
 # The entire OTB tree should use the same include path
 
 # Create the list of include directories needed for OTB header files.
-INCLUDE(${OTB_SOURCE_DIR}/otbIncludeDirectories.cmake)
+INCLUDE(${OTB_SOURCE_DIR}/CMake/otbIncludeDirectories.cmake)
 
 # This should be the only INCLUDE_DIRECTORIES command in the entire
 # tree, except for the Utilities and Wrapping directories.  We need to
@@ -288,7 +288,7 @@ ENDIF(OTB_DATA_USE_LARGEINPUT)
 #-----------------------------------------------------------------------------
 # Configure files with settings for use by the build
 # This must be done after the definition of all options
-CONFIGURE_FILE(${OTB_SOURCE_DIR}/otbConfigure.h.in
+CONFIGURE_FILE(${OTB_SOURCE_DIR}/CMake/otbConfigure.h.in
                ${OTB_BINARY_DIR}/otbConfigure.h)
 
 #-----------------------------------------------------------------------------
@@ -305,7 +305,7 @@ CONFIGURE_FILE(${OTB_SOURCE_DIR}/otbConfigure.h.in
 # Help other projects use OTB.
 
 # Copy the UseOTB.cmake file to the binary tree for backward compatability.
-CONFIGURE_FILE(${OTB_SOURCE_DIR}/UseOTB.cmake.in
+CONFIGURE_FILE(${OTB_SOURCE_DIR}/CMake/UseOTB.cmake.in
                ${OTB_BINARY_DIR}/UseOTB.cmake COPYONLY IMMEDIATE)
 
 # Save the compiler settings so another project can import them.
@@ -316,7 +316,7 @@ CMAKE_EXPORT_BUILD_SETTINGS(${OTB_BINARY_DIR}/OTBBuildSettings.cmake)
 EXPORT_LIBRARY_DEPENDENCIES(${OTB_BINARY_DIR}/OTBLibraryDepends.cmake)
 
 # Create the OTBConfig.cmake file containing the OTB configuration.
-INCLUDE (${OTB_SOURCE_DIR}/otbGenerateOTBConfig.cmake)
+INCLUDE (${OTB_SOURCE_DIR}/CMake/otbGenerateOTBConfig.cmake)
 
 IF(NOT OTB_INSTALL_NO_DEVELOPMENT)
   INSTALL(FILES