diff --git a/Documentation/Cookbook/rst/Installation_Linux_xdk.txt b/Documentation/Cookbook/rst/Installation_Linux_xdk.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3d08ff2fbbd3a3b439bb448e11013e7888b5379a
--- /dev/null
+++ b/Documentation/Cookbook/rst/Installation_Linux_xdk.txt
@@ -0,0 +1,54 @@
+Prerequisites
+-------------
+
+-  cmake (>= 3.2)
+-  gcc (>= 4.9)
+-  git
+
+Extract XDK
+-----------
+
+::
+
+    cd /opt (You can use another a directory of your own choice)
+    chmod +x OTB-|release|-xdk-Linux64.run
+    ./OTB-|release|-xdk-Linux64.run
+
+**You now will have a directory named **OTB-|release|-xdk-Linux64** in **/opt**
+
+Setup environment
+-----------------
+There is a helper script in package called **xdkenv.profile**. This script export
+required environments to configure and build OTB.
+
+::
+
+    cd /opt/OTB-|release|-xdk-Linux64
+    . ./xdkenv.profile
+
+Test environment setup by checking value of CMAKE_PREFIX_PATH
+
+::
+
+    echo $CMAKE_PREFIX_PATH
+
+The above command will output:
+ /opt/OTB-|release|-xdk-Linux64
+ 
+
+Download, Configure and build OTB
+---------------------------------
+
+::
+
+    mkdir -p /opt/OTB/build && cd /opt/OTB
+    git clone --depth=1 --branch=develop https://git@git.orfeo-toolbox.org/git/otb.git source
+    cd build && cmake ../source
+    make -j2
+
+
+Notes
+~~~~~
+
+By default, all OTB\_USE\_\* variables in OTB are set to FALSE except for 6S and SiftFast. You can check/activate them in your cmake-gui/ccmake.
+
diff --git a/Documentation/Cookbook/rst/Installation_Macx_xdk.txt b/Documentation/Cookbook/rst/Installation_Macx_xdk.txt
new file mode 100644
index 0000000000000000000000000000000000000000..648393dc3496a11f07ebc0a2f4353df09bbcab57
--- /dev/null
+++ b/Documentation/Cookbook/rst/Installation_Macx_xdk.txt
@@ -0,0 +1,2 @@
+README.md
+
diff --git a/Documentation/Cookbook/rst/Installation_Windows_xdk.txt b/Documentation/Cookbook/rst/Installation_Windows_xdk.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b43bf86b50fd8d3529a0dc062c30006ed38f309e
--- /dev/null
+++ b/Documentation/Cookbook/rst/Installation_Windows_xdk.txt
@@ -0,0 +1 @@
+README.md
diff --git a/SuperBuild/Packaging/CreateCMakeProjects.cmake b/SuperBuild/Packaging/CreateCMakeProjects.cmake
index b21a95cb0df62f9068216b955aa09017db41679b..ba87042ef939a7757f579e46889d1723a05ebfeb 100644
--- a/SuperBuild/Packaging/CreateCMakeProjects.cmake
+++ b/SuperBuild/Packaging/CreateCMakeProjects.cmake
@@ -58,12 +58,16 @@ macro(macro_setup_cmake_project pkg)
    macro_super_package(STAGE_DIR \"${archive_name}\")"
   )
 
+set(README_FILE_SUFFIX)
+if(PKG_GENERATE_XDK)
+  set(README_FILE_SUFFIX "_xdk")
+endif()
 if(APPLE)
-  set(README_FILE ${PACKAGE_OTB_SRC_DIR}/Documentation/Cookbook/rst/Installation_Macx.txt)
+  set(README_FILE ${PACKAGE_OTB_SRC_DIR}/Documentation/Cookbook/rst/Installation_Macx${README_FILE_SUFFIX}.txt)
 elseif(LINUX) #not osx
-  set(README_FILE ${PACKAGE_OTB_SRC_DIR}/Documentation/Cookbook/rst/Installation_Linux.txt)
+  set(README_FILE ${PACKAGE_OTB_SRC_DIR}/Documentation/Cookbook/rst/Installation_Linux${README_FILE_SUFFIX}.txt)
 elseif(WIN32) #windows
-  set(README_FILE ${PACKAGE_OTB_SRC_DIR}/Documentation/Cookbook/rst/Installation_Windows.txt)
+  set(README_FILE ${PACKAGE_OTB_SRC_DIR}/Documentation/Cookbook/rst/Installation_Windows${README_FILE_SUFFIX}.txt)
 endif()
 
 configure_file(
diff --git a/SuperBuild/Packaging/Files/linux_pkgsetup.in b/SuperBuild/Packaging/Files/linux_pkgsetup.in
index 75d7f5905afea20adddc60f42031ece282b1d377..6056ef9d416a1c0f57bb34ab58e244ca36a17cc1 100644
--- a/SuperBuild/Packaging/Files/linux_pkgsetup.in
+++ b/SuperBuild/Packaging/Files/linux_pkgsetup.in
@@ -121,6 +121,43 @@ EOF
 
 chmod +x "$OUT_DIR/otbenv.profile"
 
+else
+
+cat > "$OUT_DIR/xdkenv.profile" << EOF
+#!/bin/sh
+
+# The below environment variables only affect current shell
+# So if you run again from a terminal. you need to run the script again
+
+# unset any existing LD_LIBRARY_PATH
+unset LD_LIBRARY_PATH
+
+# Add bin direcotory to system PATH
+PATH=$OUT_DIR/bin:\$PATH
+
+# set numeric locale to C
+LC_NUMERIC=C
+
+# set GDAL_DATA variable used by otb application
+GDAL_DATA=$OUT_DIR/share/gdal
+
+# set GEOTIFF_CSV variable used by otb application
+GEOTIFF_CSV=$OUT_DIR/share/epsg_csv
+
+CMAKE_PREFIX_PATH=$OUT_DIR
+
+# export variables
+export LC_NUMERIC
+export GDAL_DATA
+export GEOTIFF_CSV
+export CMAKE_PREFIX_PATH
+export PATH
+
+EOF
+
+
+chmod +x "$OUT_DIR/xdkenv.profile"
+
 fi
 
 #echo "Creating symbolic links..."