diff --git a/CMakeLists.txt b/CMakeLists.txt
index f896cbbfdacf00ebb133800c534474109047df51..2af953d2e8a46415f927892a5015ff33cb6b4bbd 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -75,6 +75,8 @@ IF(Mercurial_FOUND)
   Mercurial_WC_IDENTIFY(${PROJECT_SOURCE_DIR} OTB)
   MESSAGE("Mercurial version is ${Mercurial_VERSION_HG}")
   MESSAGE("Repository revision is ${OTB_WC_REVISION}")
+  SET(OTB_WC_REVISION ${OTB_WC_REVISION} CACHE STRING "Repository version" FORCE)
+  MARK_AS_ADVANCED(OTB_WC_REVISION)
   IF(OTB_WC_STATUS)
     MESSAGE("Local file modifications:")
     MESSAGE(${OTB_WC_STATUS})
@@ -529,6 +531,20 @@ IF(OTB_USE_EXTERNAL_GDAL)
   ENDIF (NOT GDAL_LIBRARY)
   MESSAGE(STATUS "GDAL library found: ${GDAL_LIBRARY}")
 
+  # Find gdal version
+  FIND_PROGRAM(GDALCONFIG_EXECUTABLE gdal-config)
+  IF (GDALCONFIG_EXECUTABLE)
+      EXECUTE_PROCESS(COMMAND ${GDALCONFIG_EXECUTABLE} --version
+      OUTPUT_VARIABLE GDAL_VERSION
+      OUTPUT_STRIP_TRAILING_WHITESPACE)
+      MESSAGE("GDAL version is " ${GDAL_VERSION})
+      SET(GDAL_VERSION ${GDAL_VERSION} CACHE STRING "GDAL version" FORCE)
+      MARK_AS_ADVANCED(GDAL_VERSION)
+  ELSE (GDALCONFIG_EXECUTABLE)    
+      MESSAGE("gdal-config not found")
+  ENDIF (GDALCONFIG_EXECUTABLE)
+  
+
   # Find geotiff headers
   FIND_PATH(GEOTIFF_INCLUDE_DIRS geotiff.h $ENV{GDAL_INCLUDE_DIR} ${GDAL_INCLUDE_DIR} /usr/include/geotiff)
   IF (NOT GEOTIFF_INCLUDE_DIRS)