diff --git a/Base64.c b/Base64.c
index 3a27a71f034e7013dc8e99f87faa9e077477b99d..00e5a4874da0e8f3813c7ffda5195ae2117404c3 100644
--- a/Base64.c
+++ b/Base64.c
@@ -15,6 +15,12 @@
 #include "kwsysPrivate.h"
 #include KWSYS_HEADER(Base64.h)
 
+/* Work-around CMake dependency scanning limitation.  This must
+   duplicate the above list of headers.  */
+#if 0
+# include "Base64.h.in"
+#endif
+
 /*--------------------------------------------------------------------------*/
 static const unsigned char kwsysBase64EncodeTable[65] =
 "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
diff --git a/CommandLineArguments.cxx b/CommandLineArguments.cxx
index 9ba61a75426b55a40b5da908248c230ecf67adb3..55d48167fe219ed10336c1dde63f52e515b0773d 100644
--- a/CommandLineArguments.cxx
+++ b/CommandLineArguments.cxx
@@ -22,6 +22,16 @@
 #include KWSYS_HEADER(ios/sstream)
 #include KWSYS_HEADER(ios/iostream)
 
+// Work-around CMake dependency scanning limitation.  This must
+// duplicate the above list of headers.
+#if 0
+# include "CommandLineArguments.hxx.in"
+# include "Configure.hxx.in"
+# include "kwsys_stl.hxx.in"
+# include "kwsys_ios_sstream.h.in"
+# include "kwsys_ios_iostream.h.in"
+#endif
+
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/Directory.cxx b/Directory.cxx
index 40b29f0d19aa2d95bc0e99a3ca43a20722fe0027..0357cd3696bff9219b59abeac2ad365445506984 100644
--- a/Directory.cxx
+++ b/Directory.cxx
@@ -19,6 +19,15 @@
 #include KWSYS_HEADER(stl/string)
 #include KWSYS_HEADER(stl/vector)
 
+// Work-around CMake dependency scanning limitation.  This must
+// duplicate the above list of headers.
+#if 0
+# include "Directory.hxx.in"
+# include "Configure.hxx.in"
+# include "kwsys_stl.hxx.in"
+# include "kwsys_stl_string.hxx.in"
+#endif
+
 namespace KWSYS_NAMESPACE
 {
 
diff --git a/ProcessUNIX.c b/ProcessUNIX.c
index e6c092337204c77519fed63883fb55e9701278b6..09ef49ceebd4b1e9319f48a985b7caf893b16a96 100644
--- a/ProcessUNIX.c
+++ b/ProcessUNIX.c
@@ -14,6 +14,12 @@
 #include "kwsysPrivate.h"
 #include KWSYS_HEADER(Process.h)
 
+/* Work-around CMake dependency scanning limitation.  This must
+   duplicate the above list of headers.  */
+#if 0
+# include "Process.h.in"
+#endif
+
 /*
 
 Implementation for UNIX
diff --git a/ProcessWin32.c b/ProcessWin32.c
index fb8ec651926e5f4b5014a8059f6808dd5e695dd2..c9c023f97c369bd0259814c5185e695b3d45b9cc 100644
--- a/ProcessWin32.c
+++ b/ProcessWin32.c
@@ -14,6 +14,12 @@
 #include "kwsysPrivate.h"
 #include KWSYS_HEADER(Process.h)
 
+/* Work-around CMake dependency scanning limitation.  This must
+   duplicate the above list of headers.  */
+#if 0
+# include "Process.h.in"
+#endif
+
 /*
 
 Implementation for Windows
diff --git a/RegularExpression.cxx b/RegularExpression.cxx
index b0ff99e853ad28929e1284ffc1c3dbee2e794d9e..edae1df636a263566522f61bc562ad1e2d2d7fb4 100644
--- a/RegularExpression.cxx
+++ b/RegularExpression.cxx
@@ -33,6 +33,12 @@
 #include "kwsysPrivate.h"
 #include KWSYS_HEADER(RegularExpression.hxx)
 
+// Work-around CMake dependency scanning limitation.  This must
+// duplicate the above list of headers.
+#if 0
+# include "RegularExpression.hxx.in"
+#endif
+
 #include <stdio.h>
 #include <string.h>
 
diff --git a/SystemTools.cxx b/SystemTools.cxx
index 2098e6ffd2e109a892631ce817137ab6489346f9..5b53b27c323f61b9420fd3e58052abd1f520ccfe 100644
--- a/SystemTools.cxx
+++ b/SystemTools.cxx
@@ -19,6 +19,16 @@
 #include KWSYS_HEADER(ios/fstream)
 #include KWSYS_HEADER(ios/sstream)
 
+// Work-around CMake dependency scanning limitation.  This must
+// duplicate the above list of headers.
+#if 0
+# include "SystemTools.hxx.in"
+# include "Directory.hxx.in"
+# include "kwsys_ios_iostream.h.in"
+# include "kwsys_ios_fstream.h.in"
+# include "kwsys_ios_sstream.h.in"
+#endif
+
 #ifdef _MSC_VER
 # pragma warning (disable: 4786)
 #endif
diff --git a/test1.cxx b/test1.cxx
index a3f5b2f0aabdc1f541113b06e0f01e9743ae59fa..c41e824534628a35bcbed1ee761a8d903fa0e7db 100644
--- a/test1.cxx
+++ b/test1.cxx
@@ -16,6 +16,14 @@
 #include KWSYS_HEADER(Process.h)
 #include KWSYS_HEADER(ios/iostream)
 
+// Work-around CMake dependency scanning limitation.  This must
+// duplicate the above list of headers.
+#if 0
+# include "Directory.hxx.in"
+# include "Process.h.in"
+# include "kwsys_ios_iostream.h.in"
+#endif
+
 int main()
 {
   kwsys::Directory();
diff --git a/testCommandLineArguments.cxx b/testCommandLineArguments.cxx
index 6ed10468a1f5fdfbaf41618fdf84a7784f5118c1..75540bebd368c1512e1022fcc7a3ecac13f29cb7 100644
--- a/testCommandLineArguments.cxx
+++ b/testCommandLineArguments.cxx
@@ -12,10 +12,16 @@
 
 =========================================================================*/
 #include "kwsysPrivate.h"
-
 #include KWSYS_HEADER(CommandLineArguments.hxx)
 #include KWSYS_HEADER(ios/iostream)
 
+// Work-around CMake dependency scanning limitation.  This must
+// duplicate the above list of headers.
+#if 0
+# include "CommandLineArguments.hxx.in"
+# include "kwsys_ios_iostream.h.in"
+#endif
+
 void* random_ptr = (void*)0x123;
 
 int argument(const char* arg, const char* value, void* call_data)
diff --git a/testIOS.cxx b/testIOS.cxx
index a6f33d852a2b9922edf434e11cd6e1903579c131..d699ae591eaff40e49c4273e310f15bb15307f2d 100644
--- a/testIOS.cxx
+++ b/testIOS.cxx
@@ -3,6 +3,14 @@
 #include KWSYS_HEADER(ios/sstream)
 #include KWSYS_HEADER(ios/iostream)
 
+// Work-around CMake dependency scanning limitation.  This must
+// duplicate the above list of headers.
+#if 0
+# include "kwsys_stl_vector.h.in"
+# include "kwsys_ios_sstream.h.in"
+# include "kwsys_ios_iostream.h.in"
+#endif
+
 int main()
 {
   kwsys_ios::ostringstream ostr;
diff --git a/testProcess.c b/testProcess.c
index 45650cee7b58e63870aee0f702d7fad08dc3b160..ea80fea52b52e88b5c21e8b26bdf05a93e8d8a8c 100644
--- a/testProcess.c
+++ b/testProcess.c
@@ -13,6 +13,13 @@
 =========================================================================*/
 #include "kwsysPrivate.h"
 #include KWSYS_HEADER(Process.h)
+
+/* Work-around CMake dependency scanning limitation.  This must
+   duplicate the above list of headers.  */
+#if 0
+# include "Process.h.in"
+#endif
+
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/testSystemTools.cxx b/testSystemTools.cxx
index 0f578c17a5914974b910b9fd9540b56a5d2b79c9..8249b2dab01a58a70bc6d1658a062e3308c48e06 100644
--- a/testSystemTools.cxx
+++ b/testSystemTools.cxx
@@ -15,6 +15,13 @@
 #include KWSYS_HEADER(SystemTools.hxx)
 #include KWSYS_HEADER(ios/iostream)
 
+// Work-around CMake dependency scanning limitation.  This must
+// duplicate the above list of headers.
+#if 0
+# include "SystemTools.hxx.in"
+# include "kwsys_ios_iostream.h.in"
+#endif
+
 const char* toUnixPaths[][2] = 
 {
     { "/usr/local/bin/passwd", "/usr/local/bin/passwd" },
diff --git a/testhash.cxx b/testhash.cxx
index 8360a187f609d0d1ac99577fb10bf58f30e7bc35..68d6bbf5aed172c3a973576c38716fca21c0d23f 100644
--- a/testhash.cxx
+++ b/testhash.cxx
@@ -1,8 +1,29 @@
+/*=========================================================================
+
+  Program:   KWSys - Kitware System Library
+  Module:    testhash.cxx
+
+  Copyright (c) Kitware, Inc., Insight Consortium.  All rights reserved.
+  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
+
+     This software is distributed WITHOUT ANY WARRANTY; without even
+     the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+     PURPOSE.  See the above copyright notices for more information.
+
+=========================================================================*/
 #include "kwsysPrivate.h"
 #include KWSYS_HEADER(hash_map.hxx)
 #include KWSYS_HEADER(hash_set.hxx)
 #include KWSYS_HEADER(ios/iostream)
 
+// Work-around CMake dependency scanning limitation.  This must
+// duplicate the above list of headers.
+#if 0
+# include "hash_map.hxx.in"
+# include "hash_set.hxx.in"
+# include "kwsys_ios_iostream.h.in"
+#endif
+
 #if defined(_MSC_VER)
 # pragma warning (disable:4786)
 #endif