diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2fea619cb92183e49ebac9f80d7febac86c5d667..6e0496c73e6e704f90f08fd4c4eeb7b6bef31381 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -15,9 +15,9 @@ SET(BUILD_SHARED_LIBS OFF)
 # install tree.
 SET(CMAKE_SKIP_RPATH ON CACHE INTERNAL "CMake does not need RPATHs.")
 
-SET(CMAKE_DATA_DIR "/share/CMake" CACHE STRING 
+SET(CMAKE_DATA_DIR "/share/cmake-${CMake_VERSION}" CACHE STRING
   "Install location for data (relative to prefix).")
-SET(CMAKE_DOC_DIR "/doc/CMake" CACHE STRING
+SET(CMAKE_DOC_DIR "/doc/cmake-${CMake_VERSION}" CACHE STRING
   "Install location for documentation (relative to prefix).")
 SET(CMAKE_MAN_DIR "/man" CACHE STRING
   "Install location for man pages (relative to prefix).")
diff --git a/bootstrap b/bootstrap
index 197953bfa3e39a3f665406c3c88dd754c863baf8..223149bc5ec2dbccb450031707285c88e9a6c08d 100755
--- a/bootstrap
+++ b/bootstrap
@@ -17,14 +17,23 @@
 #
 #=========================================================================
 
+# Version number extraction function.
+cmake_version_component()
+{
+  cat "${cmake_source_dir}/CMakeLists.txt" | sed -n "
+/^SET(CMake_VERSION_${1}/ {s/SET(CMake_VERSION_${1} *\([0-9]*\))/\1/;p;}
+"
+}
+
 # Detect system and directory information.
 cmake_system=`uname`
 cmake_source_dir=`echo $0 | sed -n '/\//{s/\/[^\/]*$//;p;}'`
 cmake_source_dir=`(cd "${cmake_source_dir}";pwd)`
 cmake_binary_dir=`pwd`
 cmake_bootstrap_dir="${cmake_binary_dir}/Bootstrap.cmk"
-cmake_data_dir="/share/CMake"
-cmake_doc_dir="/doc/CMake"
+cmake_version="`cmake_version_component MAJOR`.`cmake_version_component MINOR`"
+cmake_data_dir="/share/cmake-${cmake_version}"
+cmake_doc_dir="/doc/cmake-${cmake_version}"
 cmake_man_dir="/man"
 cmake_init_file=""