diff --git a/CMake/OTBWrapperMacros.cmake b/CMake/OTBWrapperMacros.cmake
index 64f1cd1c7b3ccc6691e647030471ee40c551d38f..1aa60f43c0e59fd66ac0436242c5057016746133 100644
--- a/CMake/OTBWrapperMacros.cmake
+++ b/CMake/OTBWrapperMacros.cmake
@@ -36,7 +36,8 @@ macro(OTB_CREATE_APPLICATION)
    
    if (APPLICATION_INSTALL_PATH)
      install(TARGETS ${APPLICATION_TARGET_NAME}
-             LIBRARY DESTINATION ${APPLICATION_INSTALL_PATH})
+             LIBRARY DESTINATION ${APPLICATION_INSTALL_PATH}
+             COMPONENT RuntimeLibraries)
    endif()
    
    # Generate a quickstart script in the build dir
@@ -103,7 +104,8 @@ macro(OTB_CREATE_APPLICATION)
           if (OTB_INSTALL_BIN_DIR)
               # Install a version of this script if we are inside the OTB build
               install(PROGRAMS ${SCRIPT_GUI_INSTALLABLE}
-                      DESTINATION ${OTB_INSTALL_BIN_DIR})
+                      DESTINATION ${OTB_INSTALL_BIN_DIR}
+                      COMPONENT RuntimeLibraries)
           endif()
       endif()
    #endif(NOT WIN32)
diff --git a/Code/Wrappers/ApplicationLauncherQt/CMakeLists.txt b/Code/Wrappers/ApplicationLauncherQt/CMakeLists.txt
index 832c6f5c836dcf6ad03d55de424f7c3f8ed3dc5b..76f1be1cd6834a577ce26829e92d38c657123416 100644
--- a/Code/Wrappers/ApplicationLauncherQt/CMakeLists.txt
+++ b/Code/Wrappers/ApplicationLauncherQt/CMakeLists.txt
@@ -12,9 +12,9 @@ target_link_libraries(otbApplicationLauncherQt
                        ${QT_LIBRARIES})
                        
 install(TARGETS otbApplicationLauncherQt
-        RUNTIME DESTINATION ${OTB_INSTALL_BIN_DIR}
-        LIBRARY DESTINATION ${OTB_INSTALL_LIB_DIR}
-        ARCHIVE DESTINATION ${OTB_INSTALL_LIB_DIR})
+        RUNTIME DESTINATION ${OTB_INSTALL_BIN_DIR} COMPONENT RuntimeLibraries
+        LIBRARY DESTINATION ${OTB_INSTALL_LIB_DIR} COMPONENT RuntimeLibraries
+        ARCHIVE DESTINATION ${OTB_INSTALL_LIB_DIR} COMPONENT Development)
 
 # Where we will install the script in the build tree
 get_target_property(CLI_OUPUT_DIR otbApplicationLauncherQt RUNTIME_OUTPUT_DIRECTORY)
@@ -41,7 +41,8 @@ configure_file( ${CMAKE_SOURCE_DIR}/CMake/otbgui.bat.installtree.in
                 ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/Scripts/installtree/otbgui.bat
                 @ONLY )
 install(PROGRAMS ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/Scripts/installtree/otbgui.bat
-        DESTINATION ${OTB_INSTALL_BIN_DIR})
+        DESTINATION ${OTB_INSTALL_BIN_DIR}
+        COMPONENT RuntimeLibraries)
 
 else()
 configure_file( ${CMAKE_SOURCE_DIR}/CMake/otbgui.sh.buildtree.in
@@ -54,7 +55,8 @@ configure_file( ${CMAKE_SOURCE_DIR}/CMake/otbgui.sh.installtree.in
                 ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/Scripts/installtree/otbgui
                 @ONLY )
 install(PROGRAMS ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/Scripts/installtree/otbgui
-        DESTINATION ${OTB_INSTALL_BIN_DIR})
+        DESTINATION ${OTB_INSTALL_BIN_DIR}
+        COMPONENT RuntimeLibraries)
 
 endif()
 
diff --git a/Code/Wrappers/CommandLine/CMakeLists.txt b/Code/Wrappers/CommandLine/CMakeLists.txt
index a0f45b1668390ff6b4655d5f5d612329e890add0..f3940e26aaacd2487b4bc6b5b7dc4e3a6a1c15e8 100644
--- a/Code/Wrappers/CommandLine/CMakeLists.txt
+++ b/Code/Wrappers/CommandLine/CMakeLists.txt
@@ -8,9 +8,9 @@ IF(OTB_LIBRARY_PROPERTIES)
 ENDIF(OTB_LIBRARY_PROPERTIES)
 
 install(TARGETS OTBWrapperCommandLine
-        RUNTIME DESTINATION ${OTB_INSTALL_BIN_DIR}
-        LIBRARY DESTINATION ${OTB_INSTALL_LIB_DIR}
-        ARCHIVE DESTINATION ${OTB_INSTALL_LIB_DIR})
+        RUNTIME DESTINATION ${OTB_INSTALL_BIN_DIR} COMPONENT RuntimeLibraries
+        LIBRARY DESTINATION ${OTB_INSTALL_LIB_DIR} COMPONENT RuntimeLibraries
+        ARCHIVE DESTINATION ${OTB_INSTALL_LIB_DIR} COMPONENT Development)
 
         
 
@@ -23,9 +23,9 @@ target_link_libraries(otbApplicationLauncherCommandLine
                        OTBApplicationEngine)
 
 install(TARGETS otbApplicationLauncherCommandLine
-        RUNTIME DESTINATION ${OTB_INSTALL_BIN_DIR}
-        LIBRARY DESTINATION ${OTB_INSTALL_LIB_DIR}
-        ARCHIVE DESTINATION ${OTB_INSTALL_LIB_DIR})
+        RUNTIME DESTINATION ${OTB_INSTALL_BIN_DIR} COMPONENT RuntimeLibraries
+        LIBRARY DESTINATION ${OTB_INSTALL_LIB_DIR} COMPONENT RuntimeLibraries
+        ARCHIVE DESTINATION ${OTB_INSTALL_LIB_DIR} COMPONENT Development)
 
 # Where we will install the script in the build tree
 get_target_property(CLI_OUPUT_DIR otbApplicationLauncherCommandLine RUNTIME_OUTPUT_DIRECTORY)
@@ -50,7 +50,8 @@ configure_file( ${CMAKE_SOURCE_DIR}/CMake/otbcli.bat.installtree.in
                 ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/Scripts/installtree/otbcli.bat
                 @ONLY )
 install(PROGRAMS ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/Scripts/installtree/otbcli.bat
-        DESTINATION ${OTB_INSTALL_BIN_DIR})
+        DESTINATION ${OTB_INSTALL_BIN_DIR}
+        COMPONENT RuntimeLibraries)
 
 else()
 configure_file( ${CMAKE_SOURCE_DIR}/CMake/otbcli.sh.buildtree.in
@@ -63,6 +64,7 @@ configure_file( ${CMAKE_SOURCE_DIR}/CMake/otbcli.sh.installtree.in
                 ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/Scripts/installtree/otbcli
                 @ONLY )
 install(PROGRAMS ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/Scripts/installtree/otbcli
-        DESTINATION ${OTB_INSTALL_BIN_DIR})
+        DESTINATION ${OTB_INSTALL_BIN_DIR}
+        COMPONENT RuntimeLibraries)
 
 endif()
diff --git a/Code/Wrappers/QtWidget/CMakeLists.txt b/Code/Wrappers/QtWidget/CMakeLists.txt
index 686886c8fa759ab0d5244d46c72c574660b531e5..26e862758456ceba49e3b77da0081759549de5da 100644
--- a/Code/Wrappers/QtWidget/CMakeLists.txt
+++ b/Code/Wrappers/QtWidget/CMakeLists.txt
@@ -46,6 +46,6 @@ ENDIF(OTB_LIBRARY_PROPERTIES)
 
 
 install(TARGETS OTBWrapperQtWidget
-        RUNTIME DESTINATION ${OTB_INSTALL_BIN_DIR}
-        LIBRARY DESTINATION ${OTB_INSTALL_LIB_DIR}
-        ARCHIVE DESTINATION ${OTB_INSTALL_LIB_DIR})
+        RUNTIME DESTINATION ${OTB_INSTALL_BIN_DIR} COMPONENT RuntimeLibraries
+        LIBRARY DESTINATION ${OTB_INSTALL_LIB_DIR} COMPONENT RuntimeLibraries
+        ARCHIVE DESTINATION ${OTB_INSTALL_LIB_DIR} COMPONENT Development)
diff --git a/Code/Wrappers/SWIG/CMakeLists.txt b/Code/Wrappers/SWIG/CMakeLists.txt
index 6bd7ea4ff01dd0685336621899ea2e8ea418c47b..0c3855ad8ed469e8a4528806a28473a9c5341f05 100644
--- a/Code/Wrappers/SWIG/CMakeLists.txt
+++ b/Code/Wrappers/SWIG/CMakeLists.txt
@@ -66,11 +66,13 @@ if ( OTB_WRAP_PYTHON )
     )
 
   install( TARGETS _otbApplication
-           DESTINATION ${OTB_INSTALL_PYTHON_DIR} )
+           DESTINATION ${OTB_INSTALL_PYTHON_DIR}
+           COMPONENT RuntimeLibraries )
 
   install( FILES ${CMAKE_CURRENT_BINARY_DIR}/otbApplication.py
                  ${CMAKE_CURRENT_BINARY_DIR}/otbApplication.pyc
-           DESTINATION ${OTB_INSTALL_PYTHON_DIR} )
+           DESTINATION ${OTB_INSTALL_PYTHON_DIR}
+           COMPONENT RuntimeLibraries )
 
 endif()
 
@@ -123,7 +125,9 @@ if ( OTB_WRAP_JAVA )
   # Prefer using OTB_INSTALL_JAVA_DIR which defaults to something that honors CMAKE_INSTALL_PREFIX
   # Using the system-wide Java extension dir usually require admin privileges,
   # and shall better be left to packagers.
-  install(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.otb.application.jar DESTINATION ${OTB_INSTALL_JAVA_DIR})
+  install(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.otb.application.jar
+          DESTINATION ${OTB_INSTALL_JAVA_DIR}
+          COMPONENT RuntimeLibraries )
 
 endif()
 
@@ -161,9 +165,9 @@ if ( OTB_WRAP_LUA )
   endif()
   
   install(TARGETS otbApplicationLua
-          RUNTIME DESTINATION bin
-          LIBRARY DESTINATION lib
-          ARCHIVE DESTINATION lib/static)
+          RUNTIME DESTINATION ${OTB_INSTALL_BIN_DIR} COMPONENT RuntimeLibraries 
+          LIBRARY DESTINATION ${OTB_INSTALL_LIB_DIR} COMPONENT RuntimeLibraries 
+          ARCHIVE DESTINATION ${OTB_INSTALL_LIB_DIR} COMPONENT Development )
 
 endif()
 
@@ -186,9 +190,9 @@ if ( OTB_WRAP_RUBY )
   set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/otbApplicationRUBY_wrap.cxx COMPILE_FLAGS "-w")
 
   install(TARGETS otbapplication
-          RUNTIME DESTINATION bin
-          LIBRARY DESTINATION lib
-          ARCHIVE DESTINATION lib/static)
+          RUNTIME DESTINATION ${OTB_INSTALL_BIN_DIR} COMPONENT RuntimeLibraries
+          LIBRARY DESTINATION ${OTB_INSTALL_LIB_DIR} COMPONENT RuntimeLibraries
+          ARCHIVE DESTINATION ${OTB_INSTALL_LIB_DIR} COMPONENT Development)
 
 endif()
 
diff --git a/Utilities/BGL/boost/CMakeLists.txt b/Utilities/BGL/boost/CMakeLists.txt
index c838648bc304dee85e2cad7d57236fb3e4ae039d..fbe037b9427b645697346b7e9bcb3650bc7ae31a 100644
--- a/Utilities/BGL/boost/CMakeLists.txt
+++ b/Utilities/BGL/boost/CMakeLists.txt
@@ -3,10 +3,12 @@ IF(NOT OTB_INSTALL_NO_DEVELOPMENT)
   
   install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} 
           DESTINATION ${OTB_INSTALL_INCLUDE_DIR}/Utilities/BGL/
-          FILES_MATCHING PATTERN "*.hpp")
+          FILES_MATCHING PATTERN "*.hpp"
+          COMPONENT Development)
   
   install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} 
           DESTINATION ${OTB_INSTALL_INCLUDE_DIR}/Utilities/BGL/
-          FILES_MATCHING PATTERN "*.ipp")
+          FILES_MATCHING PATTERN "*.ipp"
+          COMPONENT Development)
           
 ENDIF(NOT OTB_INSTALL_NO_DEVELOPMENT)
diff --git a/Utilities/otbkml/CMakeLists.txt b/Utilities/otbkml/CMakeLists.txt
index cb900fae6dfa041b8cc69df4d9e5f2c2a3e9495f..6916131c477eb04bd2a5d76dcecf0c0f4bd33136 100644
--- a/Utilities/otbkml/CMakeLists.txt
+++ b/Utilities/otbkml/CMakeLists.txt
@@ -276,5 +276,6 @@ ENDIF(NOT OTB_INSTALL_NO_LIBRARIES)
 IF(NOT OTB_INSTALL_NO_DEVELOPMENT)
   INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/src/kml
           DESTINATION ${OTB_INSTALL_INCLUDE_DIR}/Utilities/otbkml/
-          FILES_MATCHING PATTERN "*.h")
+          FILES_MATCHING PATTERN "*.h"
+          COMPONENT Development)
 ENDIF(NOT OTB_INSTALL_NO_DEVELOPMENT)
diff --git a/Utilities/otbopenjpeg/libopenjpeg/CMakeLists.txt b/Utilities/otbopenjpeg/libopenjpeg/CMakeLists.txt
index 84a441aa5e9fb053d68e5b6c092852213c77b2bb..1d5b29ce65d3ad93a7cff4da8c1d6e1eede75b84 100644
--- a/Utilities/otbopenjpeg/libopenjpeg/CMakeLists.txt
+++ b/Utilities/otbopenjpeg/libopenjpeg/CMakeLists.txt
@@ -49,7 +49,8 @@ ENDIF(BUILD_JPWL)
 # Install library
 INSTALL(TARGETS ${OPENJPEG_LIBRARY_NAME}
   EXPORT OpenJPEGTargets
-  DESTINATION ${OPENJPEG_INSTALL_LIB_DIR} COMPONENT Libraries
+  DESTINATION ${OPENJPEG_INSTALL_LIB_DIR}
+  COMPONENT RuntimeLibraries
 )
 
 # Install includes files