diff --git bootstrap bootstrap
index 7854925..efd4554 100755
--- bootstrap
+++ bootstrap
@@ -295,6 +295,8 @@ Configuration:
   --parallel=n            bootstrap cmake in parallel, where n is
                           number of nodes [1]
   --init=FILE             use FILE for cmake initialization
+  --enable-ccache         Enable ccache when bootstrapping and building
+                          cmake.
   --system-libs           use system-installed third-party libraries
                           (for use only by package maintainers)
   --no-system-libs        use cmake-provided third-party libraries
@@ -507,6 +509,7 @@ cmake_try_make ()
 # Parse arguments
 cmake_verbose=
 cmake_parallel_make=
+cmake_ccache_enabled=
 cmake_prefix_dir="${cmake_default_prefix}"
 for a in "$@"; do
   if echo $a | grep "^--prefix=" > /dev/null 2> /dev/null; then
@@ -553,6 +556,9 @@ for a in "$@"; do
   if echo $a | grep "^--verbose" > /dev/null 2> /dev/null; then
     cmake_verbose=TRUE
   fi
+  if echo $a | grep "^--enable-ccache" > /dev/null 2> /dev/null; then
+    cmake_ccache_enabled=TRUE
+  fi
 done
 
 # If verbose, display some information about bootstrap
@@ -1488,6 +1494,10 @@ cd "${cmake_binary_dir}"
 # build with same compiler and make
 CC="${cmake_c_compiler}"
 CXX="${cmake_cxx_compiler}"
+if [ -n "${cmake_ccache_enabled}" ]; then
+  CC="ccache ${CC}"
+  CXX="ccache ${CXX}"
+fi
 MAKE="${cmake_make_processor}"
 export CC
 export CXX
