diff --git a/CMakeLists.txt b/CMakeLists.txt
index cb3ac0e450aa7260538677875585a4242b9c3a09..42252e105dafe288820fcc051946bd8e9228919c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -312,6 +312,19 @@ IF(OTB_USE_CURL)
 
 ENDIF(OTB_USE_CURL)
 
+#-------------------------------
+# Boost Library
+#-------------------------------
+
+# Option for internal/external BOOST
+OPTION(OTB_USE_EXTERNAL_BOOST "Use an outside build of Boost." OFF)
+MARK_AS_ADVANCED(OTB_USE_EXTERNAL_BOOST)
+
+IF(OTB_USE_EXTERNAL_BOOST)
+  FIND_PACKAGE(Boost)
+  INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIR})
+ENDIF(OTB_USE_EXTERNAL_BOOST)
+
 #-------------------------------
 # GDAL Library
 #-------------------------------
diff --git a/Utilities/CMakeLists.txt b/Utilities/CMakeLists.txt
index 3dfded2a617f12c526b95d46769fbde020bce75e..482a6f3bccfdab341de4971ae036dd4d626f223e 100644
--- a/Utilities/CMakeLists.txt
+++ b/Utilities/CMakeLists.txt
@@ -25,8 +25,12 @@ IF(NOT OTB_USE_EXTERNAL_EXPAT)
 	SUBDIRS( otbexpat )
 ENDIF(NOT OTB_USE_EXTERNAL_EXPAT)
 
+IF(NOT OTB_USE_EXTERNAL_BOOST)
+  SUBDIRS(BGL)
+ENDIF(NOT OTB_USE_EXTERNAL_BOOST)
 
-SUBDIRS(BGL otbsvm dxflib InsightJournal otbossim otbossimplugins otb6S tinyXMLlib otbkml otbliblas otbedison otbsiftfast)
+
+SUBDIRS(otbsvm dxflib InsightJournal otbossim otbossimplugins otb6S tinyXMLlib otbkml otbliblas otbedison otbsiftfast)
 
 IF(BUILD_TESTING)
         SUBDIRS( Dart )
diff --git a/otbIncludeDirectories.cmake b/otbIncludeDirectories.cmake
index 009abc846e7351b6f9aeee33abc4f7442f7f2120..19def36d1c35cf5c6774052bd8241fffc5b401cd 100644
--- a/otbIncludeDirectories.cmake
+++ b/otbIncludeDirectories.cmake
@@ -247,6 +247,12 @@ IF(OTB_USE_CURL)
   	${CURL_INCLUDE_DIR} )
 ENDIF(OTB_USE_CURL)
 
+#For BOOST header file
+IF(OTB_USE_BOOST)
+  SET(OTB_INCLUDE_DIRS_INSTALL_TREE ${OTB_INCLUDE_DIRS_INSTALL_TREE}
+  	${Boost_INCLUDE_DIR} )
+ENDIF(OTB_USE_BOOST)
+
 # For OpentTreads  header file
 IF(NOT OTB_USE_EXTERNAL_OPENTHREADS)
         SET(OTB_INCLUDE_DIRS_INSTALL_TREE ${OTB_INCLUDE_DIRS_INSTALL_TREE}