This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, next has been updated
       via  5521217d66f57464ac4ecf715527682f5148f356 (commit)
       via  c98c12731a987cf83d7aabc3b8127c51ceb8d741 (commit)
      from  331a9929897ad4ba864320e12bee96db86ffd8fe (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=5521217d66f57464ac4ecf715527682f5148f356
commit 5521217d66f57464ac4ecf715527682f5148f356
Merge: 331a992 c98c127
Author:     Daniel Pfeifer <dan...@pfeifer-mail.de>
AuthorDate: Tue Oct 25 15:39:03 2016 -0400
Commit:     CMake Topic Stage <kwro...@kitware.com>
CommitDate: Tue Oct 25 15:39:03 2016 -0400

    Merge topic 'include-what-you-use' into next
    
    c98c1273 Include necessary headers in commands


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c98c12731a987cf83d7aabc3b8127c51ceb8d741
commit c98c12731a987cf83d7aabc3b8127c51ceb8d741
Author:     Daniel Pfeifer <dan...@pfeifer-mail.de>
AuthorDate: Tue Oct 25 20:35:04 2016 +0200
Commit:     Daniel Pfeifer <dan...@pfeifer-mail.de>
CommitDate: Tue Oct 25 21:22:36 2016 +0200

    Include necessary headers in commands

diff --git a/Source/cmAddCustomCommandCommand.cxx 
b/Source/cmAddCustomCommandCommand.cxx
index 1ab4ef6..620de31 100644
--- a/Source/cmAddCustomCommandCommand.cxx
+++ b/Source/cmAddCustomCommandCommand.cxx
@@ -2,11 +2,19 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmAddCustomCommandCommand.h"
 
-#include "cmTarget.h"
+#include <sstream>
 
+#include "cmCustomCommand.h"
+#include "cmCustomCommandLines.h"
+#include "cmGlobalGenerator.h"
+#include "cmMakefile.h"
+#include "cmPolicies.h"
 #include "cmSourceFile.h"
+#include "cmSystemTools.h"
+#include "cmTarget.h"
+#include "cmake.h"
 
-#include "cmGlobalGenerator.h"
+class cmExecutionStatus;
 
 // cmAddCustomCommandCommand
 bool cmAddCustomCommandCommand::InitialPass(
diff --git a/Source/cmAddCustomCommandCommand.h 
b/Source/cmAddCustomCommandCommand.h
index 643163c..ea92163 100644
--- a/Source/cmAddCustomCommandCommand.h
+++ b/Source/cmAddCustomCommandCommand.h
@@ -3,8 +3,14 @@
 #ifndef cmAddCustomCommandCommand_h
 #define cmAddCustomCommandCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmCommand.h"
 
+class cmExecutionStatus;
+
 /** \class cmAddCustomCommandCommand
  * \brief cmAddCustomCommandCommand defines a new command (rule) that can
  *  be executed within the build process
diff --git a/Source/cmAddCustomTargetCommand.cxx 
b/Source/cmAddCustomTargetCommand.cxx
index 9c41dac..4e656aa 100644
--- a/Source/cmAddCustomTargetCommand.cxx
+++ b/Source/cmAddCustomTargetCommand.cxx
@@ -2,8 +2,18 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmAddCustomTargetCommand.h"
 
+#include <sstream>
+
+#include "cmCustomCommandLines.h"
 #include "cmGeneratorExpression.h"
 #include "cmGlobalGenerator.h"
+#include "cmMakefile.h"
+#include "cmPolicies.h"
+#include "cmSystemTools.h"
+#include "cmTarget.h"
+#include "cmake.h"
+
+class cmExecutionStatus;
 
 // cmAddCustomTargetCommand
 bool cmAddCustomTargetCommand::InitialPass(
diff --git a/Source/cmAddCustomTargetCommand.h 
b/Source/cmAddCustomTargetCommand.h
index 2ad244c..b679247 100644
--- a/Source/cmAddCustomTargetCommand.h
+++ b/Source/cmAddCustomTargetCommand.h
@@ -3,8 +3,14 @@
 #ifndef cmAddCustomTargetCommand_h
 #define cmAddCustomTargetCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmCommand.h"
 
+class cmExecutionStatus;
+
 /** \class cmAddCustomTargetCommand
  * \brief Command that adds a target to the build system.
  *
diff --git a/Source/cmAddDefinitionsCommand.cxx 
b/Source/cmAddDefinitionsCommand.cxx
index 8d82e71..9e0607c 100644
--- a/Source/cmAddDefinitionsCommand.cxx
+++ b/Source/cmAddDefinitionsCommand.cxx
@@ -2,6 +2,10 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmAddDefinitionsCommand.h"
 
+#include "cmMakefile.h"
+
+class cmExecutionStatus;
+
 // cmAddDefinitionsCommand
 bool cmAddDefinitionsCommand::InitialPass(std::vector<std::string> const& args,
                                           cmExecutionStatus&)
diff --git a/Source/cmAddDefinitionsCommand.h b/Source/cmAddDefinitionsCommand.h
index c6b5699..735f8cc 100644
--- a/Source/cmAddDefinitionsCommand.h
+++ b/Source/cmAddDefinitionsCommand.h
@@ -3,8 +3,14 @@
 #ifndef cmAddDefinitionsCommand_h
 #define cmAddDefinitionsCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmCommand.h"
 
+class cmExecutionStatus;
+
 /** \class cmAddDefinitionsCommand
  * \brief Specify a list of compiler defines
  *
diff --git a/Source/cmAddDependenciesCommand.cxx 
b/Source/cmAddDependenciesCommand.cxx
index 0fa8943..e49d5d5 100644
--- a/Source/cmAddDependenciesCommand.cxx
+++ b/Source/cmAddDependenciesCommand.cxx
@@ -2,7 +2,13 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmAddDependenciesCommand.h"
 
-#include "cmGlobalGenerator.h"
+#include <sstream>
+
+#include "cmMakefile.h"
+#include "cmTarget.h"
+#include "cmake.h"
+
+class cmExecutionStatus;
 
 // cmDependenciesCommand
 bool cmAddDependenciesCommand::InitialPass(
diff --git a/Source/cmAddDependenciesCommand.h 
b/Source/cmAddDependenciesCommand.h
index 2c7aa02..8be546c 100644
--- a/Source/cmAddDependenciesCommand.h
+++ b/Source/cmAddDependenciesCommand.h
@@ -3,8 +3,14 @@
 #ifndef cmDependenciessCommand_h
 #define cmDependenciessCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmCommand.h"
 
+class cmExecutionStatus;
+
 /** \class cmAddDependenciesCommand
  * \brief Add a dependency to a target
  *
diff --git a/Source/cmAddExecutableCommand.cxx 
b/Source/cmAddExecutableCommand.cxx
index 3d0729b..2a0bb15 100644
--- a/Source/cmAddExecutableCommand.cxx
+++ b/Source/cmAddExecutableCommand.cxx
@@ -2,7 +2,17 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmAddExecutableCommand.h"
 
+#include <sstream>
+
+#include "cmGeneratorExpression.h"
 #include "cmGlobalGenerator.h"
+#include "cmMakefile.h"
+#include "cmPolicies.h"
+#include "cmStateTypes.h"
+#include "cmTarget.h"
+#include "cmake.h"
+
+class cmExecutionStatus;
 
 // cmExecutableCommand
 bool cmAddExecutableCommand::InitialPass(std::vector<std::string> const& args,
diff --git a/Source/cmAddExecutableCommand.h b/Source/cmAddExecutableCommand.h
index 03faaf1..62583d8 100644
--- a/Source/cmAddExecutableCommand.h
+++ b/Source/cmAddExecutableCommand.h
@@ -3,8 +3,14 @@
 #ifndef cmExecutablesCommand_h
 #define cmExecutablesCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmCommand.h"
 
+class cmExecutionStatus;
+
 /** \class cmExecutablesCommand
  * \brief Defines a list of executables to build.
  *
diff --git a/Source/cmAddLibraryCommand.cxx b/Source/cmAddLibraryCommand.cxx
index 56cf91a..5c9c744 100644
--- a/Source/cmAddLibraryCommand.cxx
+++ b/Source/cmAddLibraryCommand.cxx
@@ -2,12 +2,20 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmAddLibraryCommand.h"
 
+#include <sstream>
+
+#include "cmGeneratorExpression.h"
 #include "cmGlobalGenerator.h"
+#include "cmMakefile.h"
+#include "cmPolicies.h"
 #include "cmState.h"
 #include "cmStateTypes.h"
 #include "cmSystemTools.h"
+#include "cmTarget.h"
 #include "cmake.h"
 
+class cmExecutionStatus;
+
 // cmLibraryCommand
 bool cmAddLibraryCommand::InitialPass(std::vector<std::string> const& args,
                                       cmExecutionStatus&)
diff --git a/Source/cmAddLibraryCommand.h b/Source/cmAddLibraryCommand.h
index d8eba8d..c23b299 100644
--- a/Source/cmAddLibraryCommand.h
+++ b/Source/cmAddLibraryCommand.h
@@ -3,8 +3,14 @@
 #ifndef cmLibrarysCommand_h
 #define cmLibrarysCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmCommand.h"
 
+class cmExecutionStatus;
+
 /** \class cmLibrarysCommand
  * \brief Defines a list of executables to build.
  *
diff --git a/Source/cmAddSubDirectoryCommand.cxx 
b/Source/cmAddSubDirectoryCommand.cxx
index 0ebe35d..34ec0e3 100644
--- a/Source/cmAddSubDirectoryCommand.cxx
+++ b/Source/cmAddSubDirectoryCommand.cxx
@@ -2,8 +2,14 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmAddSubDirectoryCommand.h"
 
+#include <sstream>
+#include <string.h>
+
+#include "cmMakefile.h"
 #include "cmSystemTools.h"
 
+class cmExecutionStatus;
+
 // cmAddSubDirectoryCommand
 bool cmAddSubDirectoryCommand::InitialPass(
   std::vector<std::string> const& args, cmExecutionStatus&)
diff --git a/Source/cmAddSubDirectoryCommand.h 
b/Source/cmAddSubDirectoryCommand.h
index f300b2e..85305e6 100644
--- a/Source/cmAddSubDirectoryCommand.h
+++ b/Source/cmAddSubDirectoryCommand.h
@@ -3,8 +3,14 @@
 #ifndef cmAddSubDirectoryCommand_h
 #define cmAddSubDirectoryCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmCommand.h"
 
+class cmExecutionStatus;
+
 /** \class cmAddSubDirectoryCommand
  * \brief Specify a subdirectory to build
  *
diff --git a/Source/cmAddTestCommand.cxx b/Source/cmAddTestCommand.cxx
index 11342ee..3a3afdb 100644
--- a/Source/cmAddTestCommand.cxx
+++ b/Source/cmAddTestCommand.cxx
@@ -2,9 +2,13 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmAddTestCommand.h"
 
-#include "cmTestGenerator.h"
+#include <sstream>
 
+#include "cmMakefile.h"
 #include "cmTest.h"
+#include "cmTestGenerator.h"
+
+class cmExecutionStatus;
 
 // cmExecutableCommand
 bool cmAddTestCommand::InitialPass(std::vector<std::string> const& args,
diff --git a/Source/cmAddTestCommand.h b/Source/cmAddTestCommand.h
index 7bbf7cf..07eff68 100644
--- a/Source/cmAddTestCommand.h
+++ b/Source/cmAddTestCommand.h
@@ -3,8 +3,14 @@
 #ifndef cmAddTestCommand_h
 #define cmAddTestCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmCommand.h"
 
+class cmExecutionStatus;
+
 /** \class cmAddTestCommand
  * \brief Add a test to the lists of tests to run.
  *
diff --git a/Source/cmBreakCommand.cxx b/Source/cmBreakCommand.cxx
index a5b6e84..9bb6137 100644
--- a/Source/cmBreakCommand.cxx
+++ b/Source/cmBreakCommand.cxx
@@ -2,7 +2,12 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmBreakCommand.h"
 
+#include <sstream>
+
 #include "cmExecutionStatus.h"
+#include "cmMakefile.h"
+#include "cmPolicies.h"
+#include "cmake.h"
 
 // cmBreakCommand
 bool cmBreakCommand::InitialPass(std::vector<std::string> const& args,
diff --git a/Source/cmBreakCommand.h b/Source/cmBreakCommand.h
index f1ade9a..5113e18 100644
--- a/Source/cmBreakCommand.h
+++ b/Source/cmBreakCommand.h
@@ -3,8 +3,14 @@
 #ifndef cmBreakCommand_h
 #define cmBreakCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmCommand.h"
 
+class cmExecutionStatus;
+
 /** \class cmBreakCommand
  * \brief Break from an enclosing foreach or while loop
  *
diff --git a/Source/cmBuildCommand.cxx b/Source/cmBuildCommand.cxx
index 8aa4102..d03b8c4 100644
--- a/Source/cmBuildCommand.cxx
+++ b/Source/cmBuildCommand.cxx
@@ -2,7 +2,15 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmBuildCommand.h"
 
+#include <sstream>
+
 #include "cmGlobalGenerator.h"
+#include "cmMakefile.h"
+#include "cmStateTypes.h"
+#include "cmSystemTools.h"
+#include "cmake.h"
+
+class cmExecutionStatus;
 
 bool cmBuildCommand::InitialPass(std::vector<std::string> const& args,
                                  cmExecutionStatus&)
diff --git a/Source/cmBuildCommand.h b/Source/cmBuildCommand.h
index 0dce4e4..62f1fd3 100644
--- a/Source/cmBuildCommand.h
+++ b/Source/cmBuildCommand.h
@@ -3,8 +3,14 @@
 #ifndef cmBuildCommand_h
 #define cmBuildCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmCommand.h"
 
+class cmExecutionStatus;
+
 /** \class cmBuildCommand
  * \brief build_command command
  *
diff --git a/Source/cmBuildNameCommand.cxx b/Source/cmBuildNameCommand.cxx
index 3257c93..1e1cd21 100644
--- a/Source/cmBuildNameCommand.cxx
+++ b/Source/cmBuildNameCommand.cxx
@@ -7,7 +7,7 @@
 
 #include "cmMakefile.h"
 #include "cmPolicies.h"
-#include "cmState.h"
+#include "cmStateTypes.h"
 #include "cmSystemTools.h"
 
 class cmExecutionStatus;
diff --git a/Source/cmCMakeMinimumRequired.cxx 
b/Source/cmCMakeMinimumRequired.cxx
index d71172c..655c42a 100644
--- a/Source/cmCMakeMinimumRequired.cxx
+++ b/Source/cmCMakeMinimumRequired.cxx
@@ -2,6 +2,7 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmCMakeMinimumRequired.h"
 
+#include "cmMakefile.h"
 #include "cmSystemTools.h"
 #include "cmVersion.h"
 
diff --git a/Source/cmCMakePolicyCommand.cxx b/Source/cmCMakePolicyCommand.cxx
index 67581b6..3ccc815 100644
--- a/Source/cmCMakePolicyCommand.cxx
+++ b/Source/cmCMakePolicyCommand.cxx
@@ -2,8 +2,15 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmCMakePolicyCommand.h"
 
+#include <sstream>
+
+#include "cmMakefile.h"
+#include "cmPolicies.h"
 #include "cmState.h"
-#include "cmVersion.h"
+#include "cmStateTypes.h"
+#include "cmake.h"
+
+class cmExecutionStatus;
 
 // cmCMakePolicyCommand
 bool cmCMakePolicyCommand::InitialPass(std::vector<std::string> const& args,
diff --git a/Source/cmCMakePolicyCommand.h b/Source/cmCMakePolicyCommand.h
index 68d9f7b..409fc59 100644
--- a/Source/cmCMakePolicyCommand.h
+++ b/Source/cmCMakePolicyCommand.h
@@ -3,8 +3,14 @@
 #ifndef cmCMakePolicyCommand_h
 #define cmCMakePolicyCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmCommand.h"
 
+class cmExecutionStatus;
+
 /** \class cmCMakePolicyCommand
  * \brief Set how CMake should handle policies
  *
diff --git a/Source/cmCommand.cxx b/Source/cmCommand.cxx
index 3c839de..181b412 100644
--- a/Source/cmCommand.cxx
+++ b/Source/cmCommand.cxx
@@ -2,6 +2,12 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmCommand.h"
 
+#include "cmMakefile.h"
+#include "cmake.h"
+
+class cmExecutionStatus;
+struct cmListFileArgument;
+
 bool cmCommand::InvokeInitialPass(const std::vector<cmListFileArgument>& args,
                                   cmExecutionStatus& status)
 {
diff --git a/Source/cmCommand.h b/Source/cmCommand.h
index dcfe8da..d9fd5a2 100644
--- a/Source/cmCommand.h
+++ b/Source/cmCommand.h
@@ -3,9 +3,16 @@
 #ifndef cmCommand_h
 #define cmCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmCommandArgumentsHelper.h"
-#include "cmListFileCache.h"
-#include "cmMakefile.h"
+#include "cmPolicies.h"
+
+class cmExecutionStatus;
+class cmMakefile;
+struct cmListFileArgument;
 
 /** \class cmCommand
  * \brief Superclass for all commands in CMake.
diff --git a/Source/cmCommands.cxx b/Source/cmCommands.cxx
index 0697d4b..103e72c 100644
--- a/Source/cmCommands.cxx
+++ b/Source/cmCommands.cxx
@@ -14,11 +14,8 @@
 #include "cmBuildCommand.h"
 #include "cmCMakeMinimumRequired.h"
 #include "cmCMakePolicyCommand.h"
-#include "cmCommandArgumentsHelper.h"
-#include "cmConditionEvaluator.h"
 #include "cmConfigureFileCommand.h"
 #include "cmContinueCommand.h"
-#include "cmCoreTryCompile.h"
 #include "cmCreateTestSourceList.h"
 #include "cmDefinePropertyCommand.h"
 #include "cmElseCommand.h"
@@ -31,10 +28,7 @@
 #include "cmEndWhileCommand.h"
 #include "cmExecProgramCommand.h"
 #include "cmExecuteProcessCommand.h"
-#include "cmExpandedCommandArgument.h"
 #include "cmFileCommand.h"
-#include "cmFindBase.h"
-#include "cmFindCommon.h"
 #include "cmFindFileCommand.h"
 #include "cmFindLibraryCommand.h"
 #include "cmFindPackageCommand.h"
@@ -49,13 +43,11 @@
 #include "cmGetSourceFilePropertyCommand.h"
 #include "cmGetTargetPropertyCommand.h"
 #include "cmGetTestPropertyCommand.h"
-#include "cmHexFileConverter.h"
 #include "cmIfCommand.h"
 #include "cmIncludeCommand.h"
 #include "cmIncludeDirectoryCommand.h"
 #include "cmIncludeRegularExpressionCommand.h"
 #include "cmInstallCommand.h"
-#include "cmInstallCommandArguments.h"
 #include "cmInstallFilesCommand.h"
 #include "cmInstallTargetsCommand.h"
 #include "cmLinkDirectoriesCommand.h"
@@ -67,10 +59,8 @@
 #include "cmMessageCommand.h"
 #include "cmOptionCommand.h"
 #include "cmParseArgumentsCommand.h"
-#include "cmPathLabel.h"
 #include "cmProjectCommand.h"
 #include "cmReturnCommand.h"
-#include "cmSearchPath.h"
 #include "cmSeparateArgumentsCommand.h"
 #include "cmSetCommand.h"
 #include "cmSetDirectoryPropertiesCommand.h"
@@ -82,7 +72,6 @@
 #include "cmStringCommand.h"
 #include "cmSubdirCommand.h"
 #include "cmTargetLinkLibrariesCommand.h"
-#include "cmTimestamp.h"
 #include "cmTryCompileCommand.h"
 #include "cmTryRunCommand.h"
 #include "cmUnsetCommand.h"
@@ -113,7 +102,6 @@
 #include "cmTargetCompileFeaturesCommand.h"
 #include "cmTargetCompileOptionsCommand.h"
 #include "cmTargetIncludeDirectoriesCommand.h"
-#include "cmTargetPropCommandBase.h"
 #include "cmTargetSourcesCommand.h"
 #include "cmUseMangledMesaCommand.h"
 #include "cmUtilitySourceCommand.h"
diff --git a/Source/cmConditionEvaluator.cxx b/Source/cmConditionEvaluator.cxx
index 7d98e73..71d6c4e 100644
--- a/Source/cmConditionEvaluator.cxx
+++ b/Source/cmConditionEvaluator.cxx
@@ -3,6 +3,7 @@
 #include "cmConditionEvaluator.h"
 
 #include "cmAlgorithms.h"
+#include "cmMakefile.h"
 #include "cmOutputConverter.h"
 #include "cmState.h"
 #include "cmSystemTools.h"
diff --git a/Source/cmConditionEvaluator.h b/Source/cmConditionEvaluator.h
index 306bee4..3c9d2cd 100644
--- a/Source/cmConditionEvaluator.h
+++ b/Source/cmConditionEvaluator.h
@@ -5,6 +5,8 @@
 
 #include "cmCommand.h"
 #include "cmExpandedCommandArgument.h"
+#include "cmListFileCache.h"
+#include "cmake.h"
 
 #include <list>
 
diff --git a/Source/cmConfigureFileCommand.cxx 
b/Source/cmConfigureFileCommand.cxx
index 0755dce..b9c7549 100644
--- a/Source/cmConfigureFileCommand.cxx
+++ b/Source/cmConfigureFileCommand.cxx
@@ -2,9 +2,13 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmConfigureFileCommand.h"
 
+#include <sstream>
+
+#include "cmMakefile.h"
 #include "cmSystemTools.h"
+#include "cmake.h"
 
-#include <cmsys/RegularExpression.hxx>
+class cmExecutionStatus;
 
 // cmConfigureFileCommand
 bool cmConfigureFileCommand::InitialPass(std::vector<std::string> const& args,
diff --git a/Source/cmConfigureFileCommand.h b/Source/cmConfigureFileCommand.h
index 9df4550..e558b85 100644
--- a/Source/cmConfigureFileCommand.h
+++ b/Source/cmConfigureFileCommand.h
@@ -3,7 +3,14 @@
 #ifndef cmConfigureFileCommand_h
 #define cmConfigureFileCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmCommand.h"
+#include "cmNewLineStyle.h"
+
+class cmExecutionStatus;
 
 class cmConfigureFileCommand : public cmCommand
 {
diff --git a/Source/cmContinueCommand.cxx b/Source/cmContinueCommand.cxx
index dc3e02c..53d035d 100644
--- a/Source/cmContinueCommand.cxx
+++ b/Source/cmContinueCommand.cxx
@@ -3,7 +3,9 @@
 #include "cmContinueCommand.h"
 
 #include "cmExecutionStatus.h"
+#include "cmMakefile.h"
 #include "cmSystemTools.h"
+#include "cmake.h"
 
 // cmContinueCommand
 bool cmContinueCommand::InitialPass(std::vector<std::string> const& args,
diff --git a/Source/cmContinueCommand.h b/Source/cmContinueCommand.h
index 0c4e650..c5b8919 100644
--- a/Source/cmContinueCommand.h
+++ b/Source/cmContinueCommand.h
@@ -3,8 +3,14 @@
 #ifndef cmContinueCommand_h
 #define cmContinueCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmCommand.h"
 
+class cmExecutionStatus;
+
 /** \class cmContinueCommand
  * \brief Continue from an enclosing foreach or while loop
  *
diff --git a/Source/cmCoreTryCompile.cxx b/Source/cmCoreTryCompile.cxx
index c7b6d58..a1de074 100644
--- a/Source/cmCoreTryCompile.cxx
+++ b/Source/cmCoreTryCompile.cxx
@@ -5,6 +5,7 @@
 #include "cmAlgorithms.h"
 #include "cmExportTryCompileFileGenerator.h"
 #include "cmGlobalGenerator.h"
+#include "cmMakefile.h"
 #include "cmOutputConverter.h"
 #include "cmState.h"
 #include "cmake.h"
diff --git a/Source/cmCoreTryCompile.h b/Source/cmCoreTryCompile.h
index 5f909dd..0d9bb79 100644
--- a/Source/cmCoreTryCompile.h
+++ b/Source/cmCoreTryCompile.h
@@ -4,6 +4,7 @@
 #define cmCoreTryCompile_h
 
 #include "cmCommand.h"
+#include "cmStateTypes.h"
 
 /** \class cmCoreTryCompile
  * \brief Base class for cmTryCompileCommand and cmTryRunCommand
diff --git a/Source/cmCreateTestSourceList.cxx 
b/Source/cmCreateTestSourceList.cxx
index b062d4d..14a6c88 100644
--- a/Source/cmCreateTestSourceList.cxx
+++ b/Source/cmCreateTestSourceList.cxx
@@ -2,6 +2,7 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmCreateTestSourceList.h"
 
+#include "cmMakefile.h"
 #include "cmSourceFile.h"
 #include "cmSystemTools.h"
 
diff --git a/Source/cmDefinePropertyCommand.cxx 
b/Source/cmDefinePropertyCommand.cxx
index af4eff9..9a097f3 100644
--- a/Source/cmDefinePropertyCommand.cxx
+++ b/Source/cmDefinePropertyCommand.cxx
@@ -2,9 +2,13 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmDefinePropertyCommand.h"
 
+#include <sstream>
+
+#include "cmMakefile.h"
+#include "cmProperty.h"
 #include "cmState.h"
-#include "cmStateTypes.h"
-#include "cmake.h"
+
+class cmExecutionStatus;
 
 bool cmDefinePropertyCommand::InitialPass(std::vector<std::string> const& args,
                                           cmExecutionStatus&)
diff --git a/Source/cmDefinePropertyCommand.h b/Source/cmDefinePropertyCommand.h
index cdfff9f..02e5b88 100644
--- a/Source/cmDefinePropertyCommand.h
+++ b/Source/cmDefinePropertyCommand.h
@@ -3,8 +3,14 @@
 #ifndef cmDefinesPropertyCommand_h
 #define cmDefinesPropertyCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmCommand.h"
 
+class cmExecutionStatus;
+
 class cmDefinePropertyCommand : public cmCommand
 {
 public:
diff --git a/Source/cmElseCommand.cxx b/Source/cmElseCommand.cxx
index 16e53f6..207777e 100644
--- a/Source/cmElseCommand.cxx
+++ b/Source/cmElseCommand.cxx
@@ -2,6 +2,8 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmElseCommand.h"
 
+class cmExecutionStatus;
+
 bool cmElseCommand::InitialPass(std::vector<std::string> const&,
                                 cmExecutionStatus&)
 {
diff --git a/Source/cmElseCommand.h b/Source/cmElseCommand.h
index 32e04a7..c0162ad 100644
--- a/Source/cmElseCommand.h
+++ b/Source/cmElseCommand.h
@@ -3,7 +3,13 @@
 #ifndef cmElseCommand_h
 #define cmElseCommand_h
 
-#include "cmIfCommand.h"
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
+#include "cmCommand.h"
+
+class cmExecutionStatus;
 
 /** \class cmElseCommand
  * \brief ends an if block
diff --git a/Source/cmEnableLanguageCommand.cxx 
b/Source/cmEnableLanguageCommand.cxx
index 49fd6fd..c57b7b1 100644
--- a/Source/cmEnableLanguageCommand.cxx
+++ b/Source/cmEnableLanguageCommand.cxx
@@ -2,6 +2,10 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmEnableLanguageCommand.h"
 
+#include "cmMakefile.h"
+
+class cmExecutionStatus;
+
 // cmEnableLanguageCommand
 bool cmEnableLanguageCommand::InitialPass(std::vector<std::string> const& args,
                                           cmExecutionStatus&)
diff --git a/Source/cmEnableLanguageCommand.h b/Source/cmEnableLanguageCommand.h
index 34e1d3d..bafb79e 100644
--- a/Source/cmEnableLanguageCommand.h
+++ b/Source/cmEnableLanguageCommand.h
@@ -3,8 +3,14 @@
 #ifndef cmEnableLanguageCommand_h
 #define cmEnableLanguageCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmCommand.h"
 
+class cmExecutionStatus;
+
 /** \class cmEnableLanguageCommand
  * \brief Specify the name for this build project.
  *
diff --git a/Source/cmEnableTestingCommand.cxx 
b/Source/cmEnableTestingCommand.cxx
index d66c5b3..6a64450 100644
--- a/Source/cmEnableTestingCommand.cxx
+++ b/Source/cmEnableTestingCommand.cxx
@@ -2,6 +2,10 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmEnableTestingCommand.h"
 
+#include "cmMakefile.h"
+
+class cmExecutionStatus;
+
 // we do this in the final pass so that we now the subdirs have all
 // been defined
 bool cmEnableTestingCommand::InitialPass(std::vector<std::string> const&,
diff --git a/Source/cmEnableTestingCommand.h b/Source/cmEnableTestingCommand.h
index b94967a..67cd237 100644
--- a/Source/cmEnableTestingCommand.h
+++ b/Source/cmEnableTestingCommand.h
@@ -3,8 +3,14 @@
 #ifndef cmEnableTestingCommand_h
 #define cmEnableTestingCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmCommand.h"
 
+class cmExecutionStatus;
+
 /** \class cmEnableTestingCommand
  * \brief Enable testing for this directory and below.
  *
diff --git a/Source/cmEndForEachCommand.cxx b/Source/cmEndForEachCommand.cxx
index 7184bae..fe6a7f3 100644
--- a/Source/cmEndForEachCommand.cxx
+++ b/Source/cmEndForEachCommand.cxx
@@ -2,6 +2,9 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmEndForEachCommand.h"
 
+class cmExecutionStatus;
+struct cmListFileArgument;
+
 bool cmEndForEachCommand::InvokeInitialPass(
   std::vector<cmListFileArgument> const&, cmExecutionStatus&)
 {
diff --git a/Source/cmEndForEachCommand.h b/Source/cmEndForEachCommand.h
index a146e4d..772a139 100644
--- a/Source/cmEndForEachCommand.h
+++ b/Source/cmEndForEachCommand.h
@@ -3,8 +3,15 @@
 #ifndef cmEndForEachCommand_h
 #define cmEndForEachCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmCommand.h"
 
+class cmExecutionStatus;
+struct cmListFileArgument;
+
 /** \class cmEndForEachCommand
  * \brief ends an if block
  *
diff --git a/Source/cmEndFunctionCommand.cxx b/Source/cmEndFunctionCommand.cxx
index 82344c6..6adb42b 100644
--- a/Source/cmEndFunctionCommand.cxx
+++ b/Source/cmEndFunctionCommand.cxx
@@ -2,6 +2,9 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmEndFunctionCommand.h"
 
+class cmExecutionStatus;
+struct cmListFileArgument;
+
 bool cmEndFunctionCommand::InvokeInitialPass(
   std::vector<cmListFileArgument> const&, cmExecutionStatus&)
 {
diff --git a/Source/cmEndFunctionCommand.h b/Source/cmEndFunctionCommand.h
index ab174fd..2599637 100644
--- a/Source/cmEndFunctionCommand.h
+++ b/Source/cmEndFunctionCommand.h
@@ -3,8 +3,15 @@
 #ifndef cmEndFunctionCommand_h
 #define cmEndFunctionCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmCommand.h"
 
+class cmExecutionStatus;
+struct cmListFileArgument;
+
 /** \class cmEndFunctionCommand
  * \brief ends an if block
  *
diff --git a/Source/cmEndIfCommand.cxx b/Source/cmEndIfCommand.cxx
index 78a0d0f..50c2b42 100644
--- a/Source/cmEndIfCommand.cxx
+++ b/Source/cmEndIfCommand.cxx
@@ -3,6 +3,11 @@
 #include "cmEndIfCommand.h"
 
 #include <stdlib.h> // required for atof
+
+#include "cmMakefile.h"
+
+class cmExecutionStatus;
+
 bool cmEndIfCommand::InitialPass(std::vector<std::string> const&,
                                  cmExecutionStatus&)
 {
diff --git a/Source/cmEndIfCommand.h b/Source/cmEndIfCommand.h
index d068bb4..dfd6049 100644
--- a/Source/cmEndIfCommand.h
+++ b/Source/cmEndIfCommand.h
@@ -3,7 +3,13 @@
 #ifndef cmEndIfCommand_h
 #define cmEndIfCommand_h
 
-#include "cmIfCommand.h"
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
+#include "cmCommand.h"
+
+class cmExecutionStatus;
 
 /** \class cmEndIfCommand
  * \brief ends an if block
diff --git a/Source/cmEndMacroCommand.cxx b/Source/cmEndMacroCommand.cxx
index 189d969..046b0af 100644
--- a/Source/cmEndMacroCommand.cxx
+++ b/Source/cmEndMacroCommand.cxx
@@ -2,6 +2,9 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmEndMacroCommand.h"
 
+class cmExecutionStatus;
+struct cmListFileArgument;
+
 bool cmEndMacroCommand::InvokeInitialPass(
   std::vector<cmListFileArgument> const&, cmExecutionStatus&)
 {
diff --git a/Source/cmEndMacroCommand.h b/Source/cmEndMacroCommand.h
index 34ae880..3c462d4 100644
--- a/Source/cmEndMacroCommand.h
+++ b/Source/cmEndMacroCommand.h
@@ -3,8 +3,15 @@
 #ifndef cmEndMacroCommand_h
 #define cmEndMacroCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmCommand.h"
 
+class cmExecutionStatus;
+struct cmListFileArgument;
+
 /** \class cmEndMacroCommand
  * \brief ends an if block
  *
diff --git a/Source/cmEndWhileCommand.cxx b/Source/cmEndWhileCommand.cxx
index b635168..48f09f1 100644
--- a/Source/cmEndWhileCommand.cxx
+++ b/Source/cmEndWhileCommand.cxx
@@ -2,6 +2,9 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmEndWhileCommand.h"
 
+class cmExecutionStatus;
+struct cmListFileArgument;
+
 bool cmEndWhileCommand::InvokeInitialPass(
   std::vector<cmListFileArgument> const& args, cmExecutionStatus&)
 {
diff --git a/Source/cmEndWhileCommand.h b/Source/cmEndWhileCommand.h
index 2366706..d4e97b4 100644
--- a/Source/cmEndWhileCommand.h
+++ b/Source/cmEndWhileCommand.h
@@ -3,8 +3,15 @@
 #ifndef cmEndWhileCommand_h
 #define cmEndWhileCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmCommand.h"
 
+class cmExecutionStatus;
+struct cmListFileArgument;
+
 /** \class cmEndWhileCommand
  * \brief ends a while loop
  *
diff --git a/Source/cmExecProgramCommand.cxx b/Source/cmExecProgramCommand.cxx
index a3d6852..df92592 100644
--- a/Source/cmExecProgramCommand.cxx
+++ b/Source/cmExecProgramCommand.cxx
@@ -2,9 +2,13 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmExecProgramCommand.h"
 
+#include <cmsys/Process.h>
+#include <stdio.h>
+
+#include "cmMakefile.h"
 #include "cmSystemTools.h"
 
-#include <cmsys/Process.h>
+class cmExecutionStatus;
 
 // cmExecProgramCommand
 bool cmExecProgramCommand::InitialPass(std::vector<std::string> const& args,
diff --git a/Source/cmExecProgramCommand.h b/Source/cmExecProgramCommand.h
index a3e96ae..7cdf777 100644
--- a/Source/cmExecProgramCommand.h
+++ b/Source/cmExecProgramCommand.h
@@ -3,8 +3,14 @@
 #ifndef cmExecProgramCommand_h
 #define cmExecProgramCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmCommand.h"
 
+class cmExecutionStatus;
+
 /** \class cmExecProgramCommand
  * \brief Command that adds a target to the build system.
  *
diff --git a/Source/cmExecuteProcessCommand.cxx 
b/Source/cmExecuteProcessCommand.cxx
index 2bcf244..c8a3a84 100644
--- a/Source/cmExecuteProcessCommand.cxx
+++ b/Source/cmExecuteProcessCommand.cxx
@@ -2,11 +2,15 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmExecuteProcessCommand.h"
 
-#include "cmSystemTools.h"
-
 #include <cmsys/Process.h>
-
 #include <ctype.h> /* isspace */
+#include <sstream>
+#include <stdio.h>
+
+#include "cmMakefile.h"
+#include "cmSystemTools.h"
+
+class cmExecutionStatus;
 
 static bool cmExecuteProcessCommandIsWhitespace(char c)
 {
diff --git a/Source/cmExecuteProcessCommand.h b/Source/cmExecuteProcessCommand.h
index 2242998..9ce4338 100644
--- a/Source/cmExecuteProcessCommand.h
+++ b/Source/cmExecuteProcessCommand.h
@@ -3,8 +3,14 @@
 #ifndef cmExecuteProcessCommand_h
 #define cmExecuteProcessCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmCommand.h"
 
+class cmExecutionStatus;
+
 /** \class cmExecuteProcessCommand
  * \brief Command that adds a target to the build system.
  *
diff --git a/Source/cmExportCommand.cxx b/Source/cmExportCommand.cxx
index c9dac35..8102276 100644
--- a/Source/cmExportCommand.cxx
+++ b/Source/cmExportCommand.cxx
@@ -12,7 +12,7 @@
 #include "cmGeneratedFileStream.h"
 #include "cmGlobalGenerator.h"
 #include "cmMakefile.h"
-#include "cmState.h"
+#include "cmStateTypes.h"
 #include "cmSystemTools.h"
 #include "cmTarget.h"
 #include "cmake.h"
diff --git a/Source/cmExportLibraryDependenciesCommand.cxx 
b/Source/cmExportLibraryDependenciesCommand.cxx
index bf1ea01..f556a8b 100644
--- a/Source/cmExportLibraryDependenciesCommand.cxx
+++ b/Source/cmExportLibraryDependenciesCommand.cxx
@@ -2,17 +2,20 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmExportLibraryDependenciesCommand.h"
 
-#include <cm_auto_ptr.hxx>
 #include <cmsys/FStream.hxx>
+#include <map>
+#include <utility>
 
 #include "cmGeneratedFileStream.h"
 #include "cmGlobalGenerator.h"
 #include "cmMakefile.h"
 #include "cmPolicies.h"
-#include "cmState.h"
+#include "cmStateTypes.h"
 #include "cmSystemTools.h"
 #include "cmTarget.h"
 #include "cmTargetLinkLibraryType.h"
+#include "cm_auto_ptr.hxx"
+#include "cm_unordered_map.hxx"
 #include "cmake.h"
 
 class cmExecutionStatus;
diff --git a/Source/cmFileCommand.cxx b/Source/cmFileCommand.cxx
index 6b5870b..6285894 100644
--- a/Source/cmFileCommand.cxx
+++ b/Source/cmFileCommand.cxx
@@ -9,9 +9,9 @@
 #include "cmGlobalGenerator.h"
 #include "cmHexFileConverter.h"
 #include "cmInstallType.h"
-#include "cmake.h"
-
+#include "cmMakefile.h"
 #include "cmTimestamp.h"
+#include "cmake.h"
 
 #if defined(CMAKE_BUILD_WITH_CMAKE)
 #include "cmCurl.h"
diff --git a/Source/cmFileCommand.h b/Source/cmFileCommand.h
index b53bae8..319864c 100644
--- a/Source/cmFileCommand.h
+++ b/Source/cmFileCommand.h
@@ -3,9 +3,13 @@
 #ifndef cmFileCommand_h
 #define cmFileCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmCommand.h"
 
-struct cmFileInstaller;
+class cmExecutionStatus;
 
 /** \class cmFileCommand
  * \brief Command for manipulation of files
diff --git a/Source/cmFindBase.cxx b/Source/cmFindBase.cxx
index 118c581..3d67ac1 100644
--- a/Source/cmFindBase.cxx
+++ b/Source/cmFindBase.cxx
@@ -3,6 +3,7 @@
 #include "cmFindBase.h"
 
 #include "cmAlgorithms.h"
+#include "cmMakefile.h"
 #include "cmState.h"
 #include "cmStateTypes.h"
 #include "cmSystemTools.h"
diff --git a/Source/cmFindCommon.cxx b/Source/cmFindCommon.cxx
index bc175ff..75d1453 100644
--- a/Source/cmFindCommon.cxx
+++ b/Source/cmFindCommon.cxx
@@ -2,6 +2,7 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmFindCommon.h"
 
+#include "cmMakefile.h"
 #include "cmSystemTools.h"
 
 #include <algorithm>
diff --git a/Source/cmFindFileCommand.cxx b/Source/cmFindFileCommand.cxx
index 9c66cd2..9840c4f 100644
--- a/Source/cmFindFileCommand.cxx
+++ b/Source/cmFindFileCommand.cxx
@@ -2,8 +2,6 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmFindFileCommand.h"
 
-#include "cmSystemTools.h"
-
 cmFindFileCommand::cmFindFileCommand()
 {
   this->IncludeFileInPath = true;
diff --git a/Source/cmFindFileCommand.h b/Source/cmFindFileCommand.h
index e121784..5c94ebf 100644
--- a/Source/cmFindFileCommand.h
+++ b/Source/cmFindFileCommand.h
@@ -3,8 +3,13 @@
 #ifndef cmFindFileCommand_h
 #define cmFindFileCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+
 #include "cmFindPathCommand.h"
 
+class cmCommand;
+
 /** \class cmFindFileCommand
  * \brief Define a command to search for an executable program.
  *
diff --git a/Source/cmFindLibraryCommand.cxx b/Source/cmFindLibraryCommand.cxx
index 56be0cb..2feedf3 100644
--- a/Source/cmFindLibraryCommand.cxx
+++ b/Source/cmFindLibraryCommand.cxx
@@ -2,12 +2,19 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmFindLibraryCommand.h"
 
+#include <algorithm>
+#include <cmsys/RegularExpression.hxx>
+#include <set>
+#include <stdio.h>
+#include <string.h>
+
 #include "cmGlobalGenerator.h"
+#include "cmMakefile.h"
 #include "cmState.h"
+#include "cmStateTypes.h"
 #include "cmSystemTools.h"
-#include "cmVersion.h"
 
-#include <cmsys/Directory.hxx>
+class cmExecutionStatus;
 
 cmFindLibraryCommand::cmFindLibraryCommand()
 {
diff --git a/Source/cmFindLibraryCommand.h b/Source/cmFindLibraryCommand.h
index 8531e51..aeff629 100644
--- a/Source/cmFindLibraryCommand.h
+++ b/Source/cmFindLibraryCommand.h
@@ -3,8 +3,15 @@
 #ifndef cmFindLibraryCommand_h
 #define cmFindLibraryCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmFindBase.h"
 
+class cmCommand;
+class cmExecutionStatus;
+
 /** \class cmFindLibraryCommand
  * \brief Define a command to search for a library.
  *
diff --git a/Source/cmFindPackageCommand.cxx b/Source/cmFindPackageCommand.cxx
index 373b728..60de74f 100644
--- a/Source/cmFindPackageCommand.cxx
+++ b/Source/cmFindPackageCommand.cxx
@@ -2,26 +2,38 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmFindPackageCommand.h"
 
-#include "cmAlgorithms.h"
-#include "cmState.h"
-#include "cmVersion.h"
-
+#include <algorithm>
+#include <assert.h>
 #include <cmSystemTools.h>
 #include <cmsys/Directory.hxx>
-#include <cmsys/Encoding.hxx>
 #include <cmsys/FStream.hxx>
+#include <cmsys/Glob.hxx>
 #include <cmsys/RegularExpression.hxx>
+#include <cmsys/String.h>
+#include <functional>
+#include <iterator>
+#include <sstream>
+#include <stdio.h>
+#include <string.h>
+#include <utility>
 
-#ifdef CMAKE_BUILD_WITH_CMAKE
-#include "cmVariableWatch.h"
-#endif
+#include "cmAlgorithms.h"
+#include "cmMakefile.h"
+#include "cmSearchPath.h"
+#include "cmState.h"
+#include "cmStateTypes.h"
+#include "cmVersion.h"
+#include "cm_auto_ptr.hxx"
+#include "cmake.h"
 
 #if defined(__HAIKU__)
 #include <FindDirectory.h>
 #include <StorageDefs.h>
-#include <string.h>
 #endif
 
+class cmExecutionStatus;
+class cmFileList;
+
 cmFindPackageCommand::PathLabel cmFindPackageCommand::PathLabel::UserRegistry(
   "PACKAGE_REGISTRY");
 cmFindPackageCommand::PathLabel cmFindPackageCommand::PathLabel::Builds(
@@ -1549,11 +1561,6 @@ void cmFindPackageCommand::StoreVersionFound()
   this->Makefile->AddDefinition(ver + "_COUNT", buf);
 }
 
-#include <cm_auto_ptr.hxx>
-#include <cmsys/Glob.hxx>
-#include <cmsys/String.h>
-
-class cmFileList;
 class cmFileListGeneratorBase
 {
 public:
diff --git a/Source/cmFindPackageCommand.h b/Source/cmFindPackageCommand.h
index 101749e..d454892 100644
--- a/Source/cmFindPackageCommand.h
+++ b/Source/cmFindPackageCommand.h
@@ -3,9 +3,18 @@
 #ifndef cmFindPackageCommand_h
 #define cmFindPackageCommand_h
 
+#include <cmConfigure.h>
+#include <cm_kwiml.h>
+#include <map>
+#include <set>
+#include <string>
+#include <vector>
+
 #include "cmFindCommon.h"
 
-class cmFindPackageFileList;
+class cmCommand;
+class cmExecutionStatus;
+class cmSearchPath;
 
 /** \class cmFindPackageCommand
  * \brief Load settings from an external project.
diff --git a/Source/cmFindPathCommand.cxx b/Source/cmFindPathCommand.cxx
index 66dc5d7..0900f46 100644
--- a/Source/cmFindPathCommand.cxx
+++ b/Source/cmFindPathCommand.cxx
@@ -2,9 +2,13 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmFindPathCommand.h"
 
+#include <cmsys/Glob.hxx>
+
+#include "cmMakefile.h"
+#include "cmStateTypes.h"
 #include "cmSystemTools.h"
 
-#include <cmsys/Glob.hxx>
+class cmExecutionStatus;
 
 cmFindPathCommand::cmFindPathCommand()
 {
diff --git a/Source/cmFindPathCommand.h b/Source/cmFindPathCommand.h
index 4ba67ed..edeeb3a 100644
--- a/Source/cmFindPathCommand.h
+++ b/Source/cmFindPathCommand.h
@@ -3,8 +3,15 @@
 #ifndef cmFindPathCommand_h
 #define cmFindPathCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmFindBase.h"
 
+class cmCommand;
+class cmExecutionStatus;
+
 /** \class cmFindPathCommand
  * \brief Define a command to search for a library.
  *
diff --git a/Source/cmFindProgramCommand.cxx b/Source/cmFindProgramCommand.cxx
index d258c3c..2c496ba 100644
--- a/Source/cmFindProgramCommand.cxx
+++ b/Source/cmFindProgramCommand.cxx
@@ -2,9 +2,11 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmFindProgramCommand.h"
 
+#include "cmMakefile.h"
+#include "cmStateTypes.h"
 #include "cmSystemTools.h"
 
-#include <stdlib.h>
+class cmExecutionStatus;
 
 #if defined(__APPLE__)
 #include <CoreFoundation/CoreFoundation.h>
diff --git a/Source/cmFindProgramCommand.h b/Source/cmFindProgramCommand.h
index 4326124..dc17803 100644
--- a/Source/cmFindProgramCommand.h
+++ b/Source/cmFindProgramCommand.h
@@ -3,8 +3,15 @@
 #ifndef cmFindProgramCommand_h
 #define cmFindProgramCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmFindBase.h"
 
+class cmCommand;
+class cmExecutionStatus;
+
 /** \class cmFindProgramCommand
  * \brief Define a command to search for an executable program.
  *
diff --git a/Source/cmForEachCommand.cxx b/Source/cmForEachCommand.cxx
index 6fbc93d..6273f6e 100644
--- a/Source/cmForEachCommand.cxx
+++ b/Source/cmForEachCommand.cxx
@@ -2,9 +2,15 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmForEachCommand.h"
 
-#include "cmSystemTools.h"
+#include <sstream>
+#include <stdio.h>
+#include <stdlib.h>
 
-#include <cm_auto_ptr.hxx>
+#include "cmExecutionStatus.h"
+#include "cmMakefile.h"
+#include "cmSystemTools.h"
+#include "cm_auto_ptr.hxx"
+#include "cmake.h"
 
 cmForEachFunctionBlocker::cmForEachFunctionBlocker(cmMakefile* mf)
   : Makefile(mf)
diff --git a/Source/cmForEachCommand.h b/Source/cmForEachCommand.h
index 9ba4af0..93c4676 100644
--- a/Source/cmForEachCommand.h
+++ b/Source/cmForEachCommand.h
@@ -3,11 +3,17 @@
 #ifndef cmForEachCommand_h
 #define cmForEachCommand_h
 
-#include "cmCommand.h"
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
 
+#include "cmCommand.h"
 #include "cmFunctionBlocker.h"
 #include "cmListFileCache.h"
 
+class cmExecutionStatus;
+class cmMakefile;
+
 class cmForEachFunctionBlocker : public cmFunctionBlocker
 {
 public:
diff --git a/Source/cmFunctionCommand.cxx b/Source/cmFunctionCommand.cxx
index e9d4496..0ba575a 100644
--- a/Source/cmFunctionCommand.cxx
+++ b/Source/cmFunctionCommand.cxx
@@ -2,9 +2,15 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmFunctionCommand.h"
 
+#include <algorithm>
+#include <sstream>
+
+#include "cmAlgorithms.h"
+#include "cmExecutionStatus.h"
+#include "cmMakefile.h"
+#include "cmPolicies.h"
 #include "cmState.h"
 #include "cmSystemTools.h"
-#include "cmake.h"
 
 // define the class for function commands
 class cmFunctionHelperCommand : public cmCommand
diff --git a/Source/cmFunctionCommand.h b/Source/cmFunctionCommand.h
index 7d868b2..afea6f9 100644
--- a/Source/cmFunctionCommand.h
+++ b/Source/cmFunctionCommand.h
@@ -3,9 +3,16 @@
 #ifndef cmFunctionCommand_h
 #define cmFunctionCommand_h
 
-#include "cmCommand.h"
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
 
+#include "cmCommand.h"
 #include "cmFunctionBlocker.h"
+#include "cmListFileCache.h"
+
+class cmExecutionStatus;
+class cmMakefile;
 
 class cmFunctionFunctionBlocker : public cmFunctionBlocker
 {
diff --git a/Source/cmGetCMakePropertyCommand.cxx 
b/Source/cmGetCMakePropertyCommand.cxx
index 01b41e8..c92ae21 100644
--- a/Source/cmGetCMakePropertyCommand.cxx
+++ b/Source/cmGetCMakePropertyCommand.cxx
@@ -2,11 +2,15 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmGetCMakePropertyCommand.h"
 
+#include <algorithm>
+#include <set>
+
 #include "cmAlgorithms.h"
 #include "cmGlobalGenerator.h"
+#include "cmMakefile.h"
 #include "cmState.h"
-#include "cmStateTypes.h"
-#include "cmake.h"
+
+class cmExecutionStatus;
 
 // cmGetCMakePropertyCommand
 bool cmGetCMakePropertyCommand::InitialPass(
diff --git a/Source/cmGetCMakePropertyCommand.h 
b/Source/cmGetCMakePropertyCommand.h
index 30bc2d8..41a51a4 100644
--- a/Source/cmGetCMakePropertyCommand.h
+++ b/Source/cmGetCMakePropertyCommand.h
@@ -3,8 +3,14 @@
 #ifndef cmGetCMakePropertyCommand_h
 #define cmGetCMakePropertyCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmCommand.h"
 
+class cmExecutionStatus;
+
 class cmGetCMakePropertyCommand : public cmCommand
 {
 public:
diff --git a/Source/cmGetDirectoryPropertyCommand.cxx 
b/Source/cmGetDirectoryPropertyCommand.cxx
index 0670d31..920e1a0 100644
--- a/Source/cmGetDirectoryPropertyCommand.cxx
+++ b/Source/cmGetDirectoryPropertyCommand.cxx
@@ -3,9 +3,13 @@
 #include "cmGetDirectoryPropertyCommand.h"
 
 #include "cmGlobalGenerator.h"
+#include "cmMakefile.h"
+#include "cmPolicies.h"
 #include "cmSystemTools.h"
 #include "cmake.h"
 
+class cmExecutionStatus;
+
 // cmGetDirectoryPropertyCommand
 bool cmGetDirectoryPropertyCommand::InitialPass(
   std::vector<std::string> const& args, cmExecutionStatus&)
diff --git a/Source/cmGetDirectoryPropertyCommand.h 
b/Source/cmGetDirectoryPropertyCommand.h
index 625adb0..1ae3125 100644
--- a/Source/cmGetDirectoryPropertyCommand.h
+++ b/Source/cmGetDirectoryPropertyCommand.h
@@ -3,8 +3,14 @@
 #ifndef cmGetDirectoryPropertyCommand_h
 #define cmGetDirectoryPropertyCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmCommand.h"
 
+class cmExecutionStatus;
+
 class cmGetDirectoryPropertyCommand : public cmCommand
 {
 public:
diff --git a/Source/cmGetFilenameComponentCommand.cxx 
b/Source/cmGetFilenameComponentCommand.cxx
index c183947..5915a67 100644
--- a/Source/cmGetFilenameComponentCommand.cxx
+++ b/Source/cmGetFilenameComponentCommand.cxx
@@ -2,8 +2,12 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmGetFilenameComponentCommand.h"
 
+#include "cmMakefile.h"
+#include "cmStateTypes.h"
 #include "cmSystemTools.h"
 
+class cmExecutionStatus;
+
 // cmGetFilenameComponentCommand
 bool cmGetFilenameComponentCommand::InitialPass(
   std::vector<std::string> const& args, cmExecutionStatus&)
diff --git a/Source/cmGetFilenameComponentCommand.h 
b/Source/cmGetFilenameComponentCommand.h
index 68bf31f..c0ad903 100644
--- a/Source/cmGetFilenameComponentCommand.h
+++ b/Source/cmGetFilenameComponentCommand.h
@@ -3,8 +3,14 @@
 #ifndef cmGetFilenameComponentCommand_h
 #define cmGetFilenameComponentCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmCommand.h"
 
+class cmExecutionStatus;
+
 /** \class cmGetFilenameComponentCommand
  * \brief Get a specific component of a filename.
  *
diff --git a/Source/cmGetPropertyCommand.cxx b/Source/cmGetPropertyCommand.cxx
index 1852eab..d2056d2 100644
--- a/Source/cmGetPropertyCommand.cxx
+++ b/Source/cmGetPropertyCommand.cxx
@@ -2,15 +2,26 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmGetPropertyCommand.h"
 
+#include <sstream>
+
 #include "cmGlobalGenerator.h"
+#include "cmInstalledFile.h"
+#include "cmListFileCache.h"
+#include "cmMakefile.h"
+#include "cmPolicies.h"
+#include "cmProperty.h"
 #include "cmPropertyDefinition.h"
 #include "cmSourceFile.h"
 #include "cmState.h"
-#include "cmStateTypes.h"
+#include "cmSystemTools.h"
+#include "cmTarget.h"
 #include "cmTargetPropertyComputer.h"
 #include "cmTest.h"
 #include "cmake.h"
 
+class cmExecutionStatus;
+class cmMessenger;
+
 cmGetPropertyCommand::cmGetPropertyCommand()
 {
   this->InfoType = OutValue;
diff --git a/Source/cmGetPropertyCommand.h b/Source/cmGetPropertyCommand.h
index 20268b4..f9a33ac 100644
--- a/Source/cmGetPropertyCommand.h
+++ b/Source/cmGetPropertyCommand.h
@@ -3,8 +3,14 @@
 #ifndef cmGetPropertyCommand_h
 #define cmGetPropertyCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmCommand.h"
 
+class cmExecutionStatus;
+
 class cmGetPropertyCommand : public cmCommand
 {
 public:
diff --git a/Source/cmGetSourceFilePropertyCommand.cxx 
b/Source/cmGetSourceFilePropertyCommand.cxx
index 43f9256..509ef95 100644
--- a/Source/cmGetSourceFilePropertyCommand.cxx
+++ b/Source/cmGetSourceFilePropertyCommand.cxx
@@ -2,8 +2,11 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmGetSourceFilePropertyCommand.h"
 
+#include "cmMakefile.h"
 #include "cmSourceFile.h"
 
+class cmExecutionStatus;
+
 // cmSetSourceFilePropertyCommand
 bool cmGetSourceFilePropertyCommand::InitialPass(
   std::vector<std::string> const& args, cmExecutionStatus&)
diff --git a/Source/cmGetSourceFilePropertyCommand.h 
b/Source/cmGetSourceFilePropertyCommand.h
index 1edc392..0f71851 100644
--- a/Source/cmGetSourceFilePropertyCommand.h
+++ b/Source/cmGetSourceFilePropertyCommand.h
@@ -3,8 +3,14 @@
 #ifndef cmGetSourceFilePropertyCommand_h
 #define cmGetSourceFilePropertyCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmCommand.h"
 
+class cmExecutionStatus;
+
 class cmGetSourceFilePropertyCommand : public cmCommand
 {
 public:
diff --git a/Source/cmGetTargetPropertyCommand.cxx 
b/Source/cmGetTargetPropertyCommand.cxx
index e78f780..2379292 100644
--- a/Source/cmGetTargetPropertyCommand.cxx
+++ b/Source/cmGetTargetPropertyCommand.cxx
@@ -2,7 +2,17 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmGetTargetPropertyCommand.h"
 
+#include <sstream>
+
+#include "cmListFileCache.h"
+#include "cmMakefile.h"
+#include "cmPolicies.h"
+#include "cmTarget.h"
 #include "cmTargetPropertyComputer.h"
+#include "cmake.h"
+
+class cmExecutionStatus;
+class cmMessenger;
 
 // cmSetTargetPropertyCommand
 bool cmGetTargetPropertyCommand::InitialPass(
diff --git a/Source/cmGetTargetPropertyCommand.h 
b/Source/cmGetTargetPropertyCommand.h
index f36cc48..32fe803 100644
--- a/Source/cmGetTargetPropertyCommand.h
+++ b/Source/cmGetTargetPropertyCommand.h
@@ -3,8 +3,14 @@
 #ifndef cmGetTargetPropertyCommand_h
 #define cmGetTargetPropertyCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmCommand.h"
 
+class cmExecutionStatus;
+
 class cmGetTargetPropertyCommand : public cmCommand
 {
 public:
diff --git a/Source/cmGetTestPropertyCommand.cxx 
b/Source/cmGetTestPropertyCommand.cxx
index 4a445dc..a8a44b7 100644
--- a/Source/cmGetTestPropertyCommand.cxx
+++ b/Source/cmGetTestPropertyCommand.cxx
@@ -2,8 +2,10 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmGetTestPropertyCommand.h"
 
+#include "cmMakefile.h"
 #include "cmTest.h"
-#include "cmake.h"
+
+class cmExecutionStatus;
 
 // cmGetTestPropertyCommand
 bool cmGetTestPropertyCommand::InitialPass(
diff --git a/Source/cmGetTestPropertyCommand.h 
b/Source/cmGetTestPropertyCommand.h
index 5dc89bd..0491cc8 100644
--- a/Source/cmGetTestPropertyCommand.h
+++ b/Source/cmGetTestPropertyCommand.h
@@ -3,8 +3,14 @@
 #ifndef cmGetTestPropertyCommand_h
 #define cmGetTestPropertyCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmCommand.h"
 
+class cmExecutionStatus;
+
 class cmGetTestPropertyCommand : public cmCommand
 {
 public:
diff --git a/Source/cmIfCommand.cxx b/Source/cmIfCommand.cxx
index eb85b16..a8fa4f9 100644
--- a/Source/cmIfCommand.cxx
+++ b/Source/cmIfCommand.cxx
@@ -2,15 +2,14 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmIfCommand.h"
 
+#include "cmConditionEvaluator.h"
+#include "cmExecutionStatus.h"
+#include "cmExpandedCommandArgument.h"
+#include "cmMakefile.h"
 #include "cmOutputConverter.h"
-#include "cmStringCommand.h"
 #include "cmSystemTools.h"
-
-#include "cmConditionEvaluator.h"
-
-#include <cmsys/RegularExpression.hxx>
-#include <list>
-#include <stdlib.h> // required for atof
+#include "cm_auto_ptr.hxx"
+#include "cmake.h"
 
 static std::string cmIfCommandError(
   std::vector<cmExpandedCommandArgument> const& args)
diff --git a/Source/cmIfCommand.h b/Source/cmIfCommand.h
index e071acb..56eef30 100644
--- a/Source/cmIfCommand.h
+++ b/Source/cmIfCommand.h
@@ -3,9 +3,17 @@
 #ifndef cmIfCommand_h
 #define cmIfCommand_h
 
-#include "cmCommand.h"
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
 
+#include "cmCommand.h"
 #include "cmFunctionBlocker.h"
+#include "cmListFileCache.h"
+
+class cmExecutionStatus;
+class cmExpandedCommandArgument;
+class cmMakefile;
 
 class cmIfFunctionBlocker : public cmFunctionBlocker
 {
diff --git a/Source/cmIncludeCommand.cxx b/Source/cmIncludeCommand.cxx
index e89641f..0f7799e 100644
--- a/Source/cmIncludeCommand.cxx
+++ b/Source/cmIncludeCommand.cxx
@@ -2,8 +2,15 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmIncludeCommand.h"
 
+#include <sstream>
+
 #include "cmGlobalGenerator.h"
+#include "cmMakefile.h"
+#include "cmPolicies.h"
 #include "cmSystemTools.h"
+#include "cmake.h"
+
+class cmExecutionStatus;
 
 // cmIncludeCommand
 bool cmIncludeCommand::InitialPass(std::vector<std::string> const& args,
diff --git a/Source/cmIncludeCommand.h b/Source/cmIncludeCommand.h
index 9065ef7..78edd43 100644
--- a/Source/cmIncludeCommand.h
+++ b/Source/cmIncludeCommand.h
@@ -3,8 +3,14 @@
 #ifndef cmIncludeCommand_h
 #define cmIncludeCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmCommand.h"
 
+class cmExecutionStatus;
+
 /** \class cmIncludeCommand
  * \brief cmIncludeCommand defines a list of distant
  *  files that can be "included" in the current list file.
diff --git a/Source/cmIncludeDirectoryCommand.cxx 
b/Source/cmIncludeDirectoryCommand.cxx
index 2260366..cdb0279 100644
--- a/Source/cmIncludeDirectoryCommand.cxx
+++ b/Source/cmIncludeDirectoryCommand.cxx
@@ -2,8 +2,14 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmIncludeDirectoryCommand.h"
 
+#include <algorithm>
+#include <set>
+
+#include "cmMakefile.h"
 #include "cmSystemTools.h"
 
+class cmExecutionStatus;
+
 // cmIncludeDirectoryCommand
 bool cmIncludeDirectoryCommand::InitialPass(
   std::vector<std::string> const& args, cmExecutionStatus&)
diff --git a/Source/cmIncludeDirectoryCommand.h 
b/Source/cmIncludeDirectoryCommand.h
index d0a20b3..287b5d3 100644
--- a/Source/cmIncludeDirectoryCommand.h
+++ b/Source/cmIncludeDirectoryCommand.h
@@ -3,8 +3,14 @@
 #ifndef cmIncludeDirectoryCommand_h
 #define cmIncludeDirectoryCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmCommand.h"
 
+class cmExecutionStatus;
+
 /** \class cmIncludeDirectoryCommand
  * \brief Add include directories to the build.
  *
diff --git a/Source/cmIncludeExternalMSProjectCommand.cxx 
b/Source/cmIncludeExternalMSProjectCommand.cxx
index e7e9402..03388c7 100644
--- a/Source/cmIncludeExternalMSProjectCommand.cxx
+++ b/Source/cmIncludeExternalMSProjectCommand.cxx
@@ -3,7 +3,10 @@
 #include "cmIncludeExternalMSProjectCommand.h"
 
 #ifdef _WIN32
+#include "cmMakefile.h"
+#include "cmStateTypes.h"
 #include "cmSystemTools.h"
+#include "cmTarget.h"
 #endif
 
 class cmExecutionStatus;
diff --git a/Source/cmIncludeRegularExpressionCommand.cxx 
b/Source/cmIncludeRegularExpressionCommand.cxx
index 6dc20a0..073c95f 100644
--- a/Source/cmIncludeRegularExpressionCommand.cxx
+++ b/Source/cmIncludeRegularExpressionCommand.cxx
@@ -2,6 +2,10 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmIncludeRegularExpressionCommand.h"
 
+#include "cmMakefile.h"
+
+class cmExecutionStatus;
+
 // cmIncludeRegularExpressionCommand
 bool cmIncludeRegularExpressionCommand::InitialPass(
   std::vector<std::string> const& args, cmExecutionStatus&)
diff --git a/Source/cmIncludeRegularExpressionCommand.h 
b/Source/cmIncludeRegularExpressionCommand.h
index b7c937d..c68d9f2 100644
--- a/Source/cmIncludeRegularExpressionCommand.h
+++ b/Source/cmIncludeRegularExpressionCommand.h
@@ -3,8 +3,14 @@
 #ifndef cmIncludeRegularExpressionCommand_h
 #define cmIncludeRegularExpressionCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmCommand.h"
 
+class cmExecutionStatus;
+
 /** \class cmIncludeRegularExpressionCommand
  * \brief Set the regular expression for following #includes.
  *
diff --git a/Source/cmInstallCommand.cxx b/Source/cmInstallCommand.cxx
index 476755a..7bf9462 100644
--- a/Source/cmInstallCommand.cxx
+++ b/Source/cmInstallCommand.cxx
@@ -2,18 +2,33 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmInstallCommand.h"
 
+#include <algorithm>
+#include <cmsys/Glob.hxx>
+#include <sstream>
+#include <stddef.h>
+
+#include "cmAlgorithms.h"
+#include "cmCommandArgumentsHelper.h"
 #include "cmExportSet.h"
+#include "cmExportSetMap.h"
+#include "cmGeneratorExpression.h"
 #include "cmGlobalGenerator.h"
 #include "cmInstallCommandArguments.h"
 #include "cmInstallDirectoryGenerator.h"
 #include "cmInstallExportGenerator.h"
 #include "cmInstallFilesGenerator.h"
+#include "cmInstallGenerator.h"
 #include "cmInstallScriptGenerator.h"
 #include "cmInstallTargetGenerator.h"
+#include "cmMakefile.h"
+#include "cmPolicies.h"
+#include "cmStateTypes.h"
 #include "cmSystemTools.h"
+#include "cmTarget.h"
 #include "cmTargetExport.h"
+#include "cmake.h"
 
-#include <cmsys/Glob.hxx>
+class cmExecutionStatus;
 
 static cmInstallTargetGenerator* CreateInstallTargetGenerator(
   cmTarget& target, const cmInstallCommandArguments& args, bool impLib,
diff --git a/Source/cmInstallCommand.h b/Source/cmInstallCommand.h
index b350330..187a6ce 100644
--- a/Source/cmInstallCommand.h
+++ b/Source/cmInstallCommand.h
@@ -3,8 +3,14 @@
 #ifndef cmInstallCommand_h
 #define cmInstallCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmCommand.h"
 
+class cmExecutionStatus;
+
 /** \class cmInstallCommand
  * \brief Specifies where to install some files
  *
diff --git a/Source/cmInstallFilesCommand.cxx b/Source/cmInstallFilesCommand.cxx
index 50f97e9..86fd46d 100644
--- a/Source/cmInstallFilesCommand.cxx
+++ b/Source/cmInstallFilesCommand.cxx
@@ -2,10 +2,15 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmInstallFilesCommand.h"
 
+#include "cmGeneratorExpression.h"
 #include "cmGlobalGenerator.h"
 #include "cmInstallFilesGenerator.h"
+#include "cmInstallGenerator.h"
+#include "cmMakefile.h"
 #include "cmSystemTools.h"
 
+class cmExecutionStatus;
+
 // cmExecutableCommand
 bool cmInstallFilesCommand::InitialPass(std::vector<std::string> const& args,
                                         cmExecutionStatus&)
diff --git a/Source/cmInstallFilesCommand.h b/Source/cmInstallFilesCommand.h
index da09fae..c3e2919 100644
--- a/Source/cmInstallFilesCommand.h
+++ b/Source/cmInstallFilesCommand.h
@@ -3,8 +3,14 @@
 #ifndef cmInstallFilesCommand_h
 #define cmInstallFilesCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmCommand.h"
 
+class cmExecutionStatus;
+
 /** \class cmInstallFilesCommand
  * \brief Specifies where to install some files
  *
diff --git a/Source/cmInstallTargetsCommand.cxx 
b/Source/cmInstallTargetsCommand.cxx
index 07f990d..e00eba0 100644
--- a/Source/cmInstallTargetsCommand.cxx
+++ b/Source/cmInstallTargetsCommand.cxx
@@ -2,7 +2,14 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmInstallTargetsCommand.h"
 
+#include <utility>
+
 #include "cmGlobalGenerator.h"
+#include "cmMakefile.h"
+#include "cmTarget.h"
+#include "cm_unordered_map.hxx"
+
+class cmExecutionStatus;
 
 // cmExecutableCommand
 bool cmInstallTargetsCommand::InitialPass(std::vector<std::string> const& args,
diff --git a/Source/cmInstallTargetsCommand.h b/Source/cmInstallTargetsCommand.h
index 0625722..150397d 100644
--- a/Source/cmInstallTargetsCommand.h
+++ b/Source/cmInstallTargetsCommand.h
@@ -3,8 +3,14 @@
 #ifndef cmInstallTargetsCommand_h
 #define cmInstallTargetsCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmCommand.h"
 
+class cmExecutionStatus;
+
 /** \class cmInstallTargetsCommand
  * \brief Specifies where to install some targets
  *
diff --git a/Source/cmLinkDirectoriesCommand.cxx 
b/Source/cmLinkDirectoriesCommand.cxx
index 3a18a43..f863292 100644
--- a/Source/cmLinkDirectoriesCommand.cxx
+++ b/Source/cmLinkDirectoriesCommand.cxx
@@ -2,7 +2,14 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmLinkDirectoriesCommand.h"
 
+#include <sstream>
+
+#include "cmMakefile.h"
+#include "cmPolicies.h"
 #include "cmSystemTools.h"
+#include "cmake.h"
+
+class cmExecutionStatus;
 
 // cmLinkDirectoriesCommand
 bool cmLinkDirectoriesCommand::InitialPass(
diff --git a/Source/cmLinkDirectoriesCommand.h 
b/Source/cmLinkDirectoriesCommand.h
index ba0313b..387b3b9 100644
--- a/Source/cmLinkDirectoriesCommand.h
+++ b/Source/cmLinkDirectoriesCommand.h
@@ -3,8 +3,14 @@
 #ifndef cmLinkDirectoriesCommand_h
 #define cmLinkDirectoriesCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmCommand.h"
 
+class cmExecutionStatus;
+
 /** \class cmLinkDirectoriesCommand
  * \brief Define a list of directories containing files to link.
  *
diff --git a/Source/cmListCommand.cxx b/Source/cmListCommand.cxx
index 6cc9590..295ea28 100644
--- a/Source/cmListCommand.cxx
+++ b/Source/cmListCommand.cxx
@@ -2,15 +2,22 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmListCommand.h"
 
-#include "cmAlgorithms.h"
-#include "cmSystemTools.h"
-#include <cmsys/RegularExpression.hxx>
-#include <cmsys/SystemTools.hxx>
-
 #include <algorithm>
 #include <assert.h>
-#include <ctype.h>
+#include <cmsys/RegularExpression.hxx>
+#include <iterator>
+#include <sstream>
+#include <stdio.h>
 #include <stdlib.h> // required for atoi
+
+#include "cmAlgorithms.h"
+#include "cmMakefile.h"
+#include "cmPolicies.h"
+#include "cmSystemTools.h"
+#include "cmake.h"
+
+class cmExecutionStatus;
+
 bool cmListCommand::InitialPass(std::vector<std::string> const& args,
                                 cmExecutionStatus&)
 {
diff --git a/Source/cmListCommand.h b/Source/cmListCommand.h
index 43a482c..e7413ca 100644
--- a/Source/cmListCommand.h
+++ b/Source/cmListCommand.h
@@ -3,8 +3,14 @@
 #ifndef cmListCommand_h
 #define cmListCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmCommand.h"
 
+class cmExecutionStatus;
+
 /** \class cmListCommand
  * \brief Common list operations
  *
diff --git a/Source/cmLoadCacheCommand.cxx b/Source/cmLoadCacheCommand.cxx
index 2a06cb4..ea84877 100644
--- a/Source/cmLoadCacheCommand.cxx
+++ b/Source/cmLoadCacheCommand.cxx
@@ -5,7 +5,7 @@
 #include <cmsys/FStream.hxx>
 
 #include "cmMakefile.h"
-#include "cmState.h"
+#include "cmStateTypes.h"
 #include "cmSystemTools.h"
 #include "cmake.h"
 
diff --git a/Source/cmMacroCommand.cxx b/Source/cmMacroCommand.cxx
index 9bfc70b..d777bd5 100644
--- a/Source/cmMacroCommand.cxx
+++ b/Source/cmMacroCommand.cxx
@@ -2,10 +2,16 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmMacroCommand.h"
 
+#include <algorithm>
+#include <sstream>
+#include <stdio.h>
+
 #include "cmAlgorithms.h"
+#include "cmExecutionStatus.h"
+#include "cmMakefile.h"
+#include "cmPolicies.h"
 #include "cmState.h"
 #include "cmSystemTools.h"
-#include "cmake.h"
 
 // define the class for macro commands
 class cmMacroHelperCommand : public cmCommand
diff --git a/Source/cmMacroCommand.h b/Source/cmMacroCommand.h
index 8e3cd95..acb4233 100644
--- a/Source/cmMacroCommand.h
+++ b/Source/cmMacroCommand.h
@@ -3,9 +3,16 @@
 #ifndef cmMacroCommand_h
 #define cmMacroCommand_h
 
-#include "cmCommand.h"
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
 
+#include "cmCommand.h"
 #include "cmFunctionBlocker.h"
+#include "cmListFileCache.h"
+
+class cmExecutionStatus;
+class cmMakefile;
 
 class cmMacroFunctionBlocker : public cmFunctionBlocker
 {
diff --git a/Source/cmMakeDirectoryCommand.cxx 
b/Source/cmMakeDirectoryCommand.cxx
index fda9eea..06e295b 100644
--- a/Source/cmMakeDirectoryCommand.cxx
+++ b/Source/cmMakeDirectoryCommand.cxx
@@ -2,8 +2,11 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmMakeDirectoryCommand.h"
 
+#include "cmMakefile.h"
 #include "cmSystemTools.h"
 
+class cmExecutionStatus;
+
 // cmMakeDirectoryCommand
 bool cmMakeDirectoryCommand::InitialPass(std::vector<std::string> const& args,
                                          cmExecutionStatus&)
diff --git a/Source/cmMakeDirectoryCommand.h b/Source/cmMakeDirectoryCommand.h
index 74b4a63..d9cce6f 100644
--- a/Source/cmMakeDirectoryCommand.h
+++ b/Source/cmMakeDirectoryCommand.h
@@ -3,8 +3,14 @@
 #ifndef cmMakeDirectoryCommand_h
 #define cmMakeDirectoryCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmCommand.h"
 
+class cmExecutionStatus;
+
 /** \class cmMakeDirectoryCommand
  * \brief Specify auxiliary source code directories.
  *
diff --git a/Source/cmMarkAsAdvancedCommand.cxx 
b/Source/cmMarkAsAdvancedCommand.cxx
index 7297193..b2f0d22 100644
--- a/Source/cmMarkAsAdvancedCommand.cxx
+++ b/Source/cmMarkAsAdvancedCommand.cxx
@@ -2,8 +2,13 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmMarkAsAdvancedCommand.h"
 
+#include "cmMakefile.h"
 #include "cmState.h"
+#include "cmStateTypes.h"
 #include "cmSystemTools.h"
+#include "cmake.h"
+
+class cmExecutionStatus;
 
 // cmMarkAsAdvancedCommand
 bool cmMarkAsAdvancedCommand::InitialPass(std::vector<std::string> const& args,
diff --git a/Source/cmMarkAsAdvancedCommand.h b/Source/cmMarkAsAdvancedCommand.h
index 0f5270c..26caa66 100644
--- a/Source/cmMarkAsAdvancedCommand.h
+++ b/Source/cmMarkAsAdvancedCommand.h
@@ -3,8 +3,14 @@
 #ifndef cmMarkAsAdvancedCommand_h
 #define cmMarkAsAdvancedCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmCommand.h"
 
+class cmExecutionStatus;
+
 /** \class cmMarkAsAdvancedCommand
  * \brief mark_as_advanced command
  *
diff --git a/Source/cmMathCommand.cxx b/Source/cmMathCommand.cxx
index 42e6b90..c1cd1b6 100644
--- a/Source/cmMathCommand.cxx
+++ b/Source/cmMathCommand.cxx
@@ -2,7 +2,12 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmMathCommand.h"
 
+#include <stdio.h>
+
 #include "cmExprParserHelper.h"
+#include "cmMakefile.h"
+
+class cmExecutionStatus;
 
 bool cmMathCommand::InitialPass(std::vector<std::string> const& args,
                                 cmExecutionStatus&)
diff --git a/Source/cmMathCommand.h b/Source/cmMathCommand.h
index 17a1575..9b49b21 100644
--- a/Source/cmMathCommand.h
+++ b/Source/cmMathCommand.h
@@ -3,8 +3,14 @@
 #ifndef cmMathCommand_h
 #define cmMathCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmCommand.h"
 
+class cmExecutionStatus;
+
 /// Mathematical expressions: math(EXPR ...) command.
 class cmMathCommand : public cmCommand
 {
diff --git a/Source/cmMessageCommand.cxx b/Source/cmMessageCommand.cxx
index 83d847a..2e15720 100644
--- a/Source/cmMessageCommand.cxx
+++ b/Source/cmMessageCommand.cxx
@@ -2,8 +2,15 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmMessageCommand.h"
 
+#include <algorithm>
+
+#include "cmAlgorithms.h"
+#include "cmMakefile.h"
 #include "cmMessenger.h"
 #include "cmSystemTools.h"
+#include "cmake.h"
+
+class cmExecutionStatus;
 
 // cmLibraryCommand
 bool cmMessageCommand::InitialPass(std::vector<std::string> const& args,
diff --git a/Source/cmMessageCommand.h b/Source/cmMessageCommand.h
index cd16ffa..a565635 100644
--- a/Source/cmMessageCommand.h
+++ b/Source/cmMessageCommand.h
@@ -3,8 +3,14 @@
 #ifndef cmMessageCommand_h
 #define cmMessageCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmCommand.h"
 
+class cmExecutionStatus;
+
 /** \class cmMessageCommand
  * \brief Displays a message to the user
  *
diff --git a/Source/cmOptionCommand.cxx b/Source/cmOptionCommand.cxx
index d6efa2c..bbd6090 100644
--- a/Source/cmOptionCommand.cxx
+++ b/Source/cmOptionCommand.cxx
@@ -2,9 +2,16 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmOptionCommand.h"
 
+#include <algorithm>
+
+#include "cmAlgorithms.h"
+#include "cmMakefile.h"
 #include "cmState.h"
+#include "cmStateTypes.h"
 #include "cmSystemTools.h"
 
+class cmExecutionStatus;
+
 // cmOptionCommand
 bool cmOptionCommand::InitialPass(std::vector<std::string> const& args,
                                   cmExecutionStatus&)
diff --git a/Source/cmOptionCommand.h b/Source/cmOptionCommand.h
index d77215a..09567ff 100644
--- a/Source/cmOptionCommand.h
+++ b/Source/cmOptionCommand.h
@@ -3,8 +3,14 @@
 #ifndef cmOptionCommand_h
 #define cmOptionCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmCommand.h"
 
+class cmExecutionStatus;
+
 /** \class cmOptionCommand
  * \brief Provide an option to the user
  *
diff --git a/Source/cmOutputRequiredFilesCommand.cxx 
b/Source/cmOutputRequiredFilesCommand.cxx
index 6ecd942..32b0a92 100644
--- a/Source/cmOutputRequiredFilesCommand.cxx
+++ b/Source/cmOutputRequiredFilesCommand.cxx
@@ -4,6 +4,8 @@
 
 #include <cmsys/FStream.hxx>
 #include <cmsys/RegularExpression.hxx>
+#include <map>
+#include <utility>
 
 #include "cmAlgorithms.h"
 #include "cmGeneratorExpression.h"
@@ -12,6 +14,7 @@
 #include "cmSourceFile.h"
 #include "cmSystemTools.h"
 #include "cmTarget.h"
+#include "cm_unordered_map.hxx"
 
 class cmExecutionStatus;
 
diff --git a/Source/cmParseArgumentsCommand.cxx 
b/Source/cmParseArgumentsCommand.cxx
index e45e3a5..0a2dd12 100644
--- a/Source/cmParseArgumentsCommand.cxx
+++ b/Source/cmParseArgumentsCommand.cxx
@@ -2,8 +2,19 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmParseArgumentsCommand.h"
 
+#include <algorithm>
+#include <map>
+#include <set>
+#include <sstream>
+#include <stddef.h>
+#include <utility>
+
 #include "cmAlgorithms.h"
+#include "cmMakefile.h"
 #include "cmSystemTools.h"
+#include "cmake.h"
+
+class cmExecutionStatus;
 
 static std::string escape_arg(const std::string& arg)
 {
diff --git a/Source/cmParseArgumentsCommand.h b/Source/cmParseArgumentsCommand.h
index af87d81..079eadb 100644
--- a/Source/cmParseArgumentsCommand.h
+++ b/Source/cmParseArgumentsCommand.h
@@ -3,8 +3,14 @@
 #ifndef cmParseArgumentsCommand_h
 #define cmParseArgumentsCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmCommand.h"
 
+class cmExecutionStatus;
+
 /** \class cmParseArgumentsCommand
  *
  */
diff --git a/Source/cmProjectCommand.cxx b/Source/cmProjectCommand.cxx
index 4188661..4e0fa57 100644
--- a/Source/cmProjectCommand.cxx
+++ b/Source/cmProjectCommand.cxx
@@ -2,7 +2,17 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmProjectCommand.h"
 
+#include <cmsys/RegularExpression.hxx>
+#include <sstream>
+#include <stdio.h>
+
+#include "cmMakefile.h"
+#include "cmPolicies.h"
+#include "cmStateTypes.h"
 #include "cmSystemTools.h"
+#include "cmake.h"
+
+class cmExecutionStatus;
 
 // cmProjectCommand
 bool cmProjectCommand::InitialPass(std::vector<std::string> const& args,
diff --git a/Source/cmProjectCommand.h b/Source/cmProjectCommand.h
index ef554f3..cd92176 100644
--- a/Source/cmProjectCommand.h
+++ b/Source/cmProjectCommand.h
@@ -3,8 +3,14 @@
 #ifndef cmProjectCommand_h
 #define cmProjectCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmCommand.h"
 
+class cmExecutionStatus;
+
 /** \class cmProjectCommand
  * \brief Specify the name for this build project.
  *
diff --git a/Source/cmReturnCommand.h b/Source/cmReturnCommand.h
index 06b91bc..9496d67 100644
--- a/Source/cmReturnCommand.h
+++ b/Source/cmReturnCommand.h
@@ -3,8 +3,14 @@
 #ifndef cmReturnCommand_h
 #define cmReturnCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmCommand.h"
 
+class cmExecutionStatus;
+
 /** \class cmReturnCommand
  * \brief Return from a directory or function
  *
diff --git a/Source/cmSearchPath.cxx b/Source/cmSearchPath.cxx
index fd3d482..ff0b836 100644
--- a/Source/cmSearchPath.cxx
+++ b/Source/cmSearchPath.cxx
@@ -2,8 +2,11 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmSearchPath.h"
 
+#include <cassert>
+
 #include "cmAlgorithms.h"
 #include "cmFindCommon.h"
+#include "cmMakefile.h"
 #include "cmSystemTools.h"
 
 cmSearchPath::cmSearchPath(cmFindCommon* findCmd)
diff --git a/Source/cmSeparateArgumentsCommand.cxx 
b/Source/cmSeparateArgumentsCommand.cxx
index 77546a3..b27d227 100644
--- a/Source/cmSeparateArgumentsCommand.cxx
+++ b/Source/cmSeparateArgumentsCommand.cxx
@@ -2,8 +2,14 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmSeparateArgumentsCommand.h"
 
+#include <algorithm>
+#include <sstream>
+
+#include "cmMakefile.h"
 #include "cmSystemTools.h"
 
+class cmExecutionStatus;
+
 // cmSeparateArgumentsCommand
 bool cmSeparateArgumentsCommand::InitialPass(
   std::vector<std::string> const& args, cmExecutionStatus&)
diff --git a/Source/cmSeparateArgumentsCommand.h 
b/Source/cmSeparateArgumentsCommand.h
index d80d043..1cbf56e 100644
--- a/Source/cmSeparateArgumentsCommand.h
+++ b/Source/cmSeparateArgumentsCommand.h
@@ -3,8 +3,14 @@
 #ifndef cmSeparateArgumentsCommand_h
 #define cmSeparateArgumentsCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmCommand.h"
 
+class cmExecutionStatus;
+
 /** \class cmSeparateArgumentsCommand
  * \brief separate_arguments command
  *
diff --git a/Source/cmSetCommand.cxx b/Source/cmSetCommand.cxx
index 9f59db4..e49f142 100644
--- a/Source/cmSetCommand.cxx
+++ b/Source/cmSetCommand.cxx
@@ -2,9 +2,17 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmSetCommand.h"
 
+#include <algorithm>
+#include <string.h>
+
+#include "cmAlgorithms.h"
+#include "cmMakefile.h"
 #include "cmState.h"
+#include "cmStateTypes.h"
 #include "cmSystemTools.h"
 
+class cmExecutionStatus;
+
 // cmSetCommand
 bool cmSetCommand::InitialPass(std::vector<std::string> const& args,
                                cmExecutionStatus&)
diff --git a/Source/cmSetCommand.h b/Source/cmSetCommand.h
index 6fa3865..190092a 100644
--- a/Source/cmSetCommand.h
+++ b/Source/cmSetCommand.h
@@ -3,8 +3,14 @@
 #ifndef cmSetCommand_h
 #define cmSetCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmCommand.h"
 
+class cmExecutionStatus;
+
 /** \class cmSetCommand
  * \brief Set a CMAKE variable
  *
diff --git a/Source/cmSetDirectoryPropertiesCommand.cxx 
b/Source/cmSetDirectoryPropertiesCommand.cxx
index b0de021..8d3961a 100644
--- a/Source/cmSetDirectoryPropertiesCommand.cxx
+++ b/Source/cmSetDirectoryPropertiesCommand.cxx
@@ -2,7 +2,9 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmSetDirectoryPropertiesCommand.h"
 
-#include "cmake.h"
+#include "cmMakefile.h"
+
+class cmExecutionStatus;
 
 // cmSetDirectoryPropertiesCommand
 bool cmSetDirectoryPropertiesCommand::InitialPass(
diff --git a/Source/cmSetDirectoryPropertiesCommand.h 
b/Source/cmSetDirectoryPropertiesCommand.h
index 9608742..854ad43 100644
--- a/Source/cmSetDirectoryPropertiesCommand.h
+++ b/Source/cmSetDirectoryPropertiesCommand.h
@@ -3,8 +3,15 @@
 #ifndef cmSetDirectoryPropertiesCommand_h
 #define cmSetDirectoryPropertiesCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmCommand.h"
 
+class cmExecutionStatus;
+class cmMakefile;
+
 class cmSetDirectoryPropertiesCommand : public cmCommand
 {
 public:
diff --git a/Source/cmSetPropertyCommand.cxx b/Source/cmSetPropertyCommand.cxx
index 552f918..79221c8 100644
--- a/Source/cmSetPropertyCommand.cxx
+++ b/Source/cmSetPropertyCommand.cxx
@@ -2,13 +2,20 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmSetPropertyCommand.h"
 
+#include <sstream>
+
 #include "cmGlobalGenerator.h"
-#include "cmSetSourceFilesPropertiesCommand.h"
-#include "cmSetTargetPropertiesCommand.h"
-#include "cmSetTestsPropertiesCommand.h"
+#include "cmInstalledFile.h"
+#include "cmMakefile.h"
+#include "cmProperty.h"
 #include "cmSourceFile.h"
 #include "cmState.h"
+#include "cmSystemTools.h"
+#include "cmTarget.h"
 #include "cmTest.h"
+#include "cmake.h"
+
+class cmExecutionStatus;
 
 cmSetPropertyCommand::cmSetPropertyCommand()
 {
diff --git a/Source/cmSetPropertyCommand.h b/Source/cmSetPropertyCommand.h
index b4dff76..fd7c922 100644
--- a/Source/cmSetPropertyCommand.h
+++ b/Source/cmSetPropertyCommand.h
@@ -3,8 +3,19 @@
 #ifndef cmSetsPropertiesCommand_h
 #define cmSetsPropertiesCommand_h
 
+#include <cmConfigure.h>
+#include <set>
+#include <string>
+#include <vector>
+
 #include "cmCommand.h"
 
+class cmExecutionStatus;
+class cmInstalledFile;
+class cmSourceFile;
+class cmTarget;
+class cmTest;
+
 class cmSetPropertyCommand : public cmCommand
 {
 public:
diff --git a/Source/cmSetSourceFilesPropertiesCommand.cxx 
b/Source/cmSetSourceFilesPropertiesCommand.cxx
index 6a87d6d..33e1b2e 100644
--- a/Source/cmSetSourceFilesPropertiesCommand.cxx
+++ b/Source/cmSetSourceFilesPropertiesCommand.cxx
@@ -2,9 +2,12 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmSetSourceFilesPropertiesCommand.h"
 
+#include "cmMakefile.h"
 #include "cmSourceFile.h"
 #include "cmSystemTools.h"
 
+class cmExecutionStatus;
+
 // cmSetSourceFilesPropertiesCommand
 bool cmSetSourceFilesPropertiesCommand::InitialPass(
   std::vector<std::string> const& args, cmExecutionStatus&)
diff --git a/Source/cmSetSourceFilesPropertiesCommand.h 
b/Source/cmSetSourceFilesPropertiesCommand.h
index 62cc404..8fa12c7 100644
--- a/Source/cmSetSourceFilesPropertiesCommand.h
+++ b/Source/cmSetSourceFilesPropertiesCommand.h
@@ -3,8 +3,15 @@
 #ifndef cmSetSourceFilesPropertiesCommand_h
 #define cmSetSourceFilesPropertiesCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmCommand.h"
 
+class cmExecutionStatus;
+class cmMakefile;
+
 class cmSetSourceFilesPropertiesCommand : public cmCommand
 {
 public:
diff --git a/Source/cmSetTargetPropertiesCommand.cxx 
b/Source/cmSetTargetPropertiesCommand.cxx
index 200b42d..da26972 100644
--- a/Source/cmSetTargetPropertiesCommand.cxx
+++ b/Source/cmSetTargetPropertiesCommand.cxx
@@ -2,7 +2,12 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmSetTargetPropertiesCommand.h"
 
-#include "cmGlobalGenerator.h"
+#include <iterator>
+
+#include "cmMakefile.h"
+#include "cmTarget.h"
+
+class cmExecutionStatus;
 
 // cmSetTargetPropertiesCommand
 bool cmSetTargetPropertiesCommand::InitialPass(
diff --git a/Source/cmSetTargetPropertiesCommand.h 
b/Source/cmSetTargetPropertiesCommand.h
index ed02fa8..c3c0d06 100644
--- a/Source/cmSetTargetPropertiesCommand.h
+++ b/Source/cmSetTargetPropertiesCommand.h
@@ -3,8 +3,15 @@
 #ifndef cmSetTargetsPropertiesCommand_h
 #define cmSetTargetsPropertiesCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmCommand.h"
 
+class cmExecutionStatus;
+class cmMakefile;
+
 class cmSetTargetPropertiesCommand : public cmCommand
 {
 public:
diff --git a/Source/cmSetTestsPropertiesCommand.cxx 
b/Source/cmSetTestsPropertiesCommand.cxx
index 5abb84e..4fd379f 100644
--- a/Source/cmSetTestsPropertiesCommand.cxx
+++ b/Source/cmSetTestsPropertiesCommand.cxx
@@ -2,8 +2,12 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmSetTestsPropertiesCommand.h"
 
+#include <iterator>
+
+#include "cmMakefile.h"
 #include "cmTest.h"
-#include "cmake.h"
+
+class cmExecutionStatus;
 
 // cmSetTestsPropertiesCommand
 bool cmSetTestsPropertiesCommand::InitialPass(
diff --git a/Source/cmSetTestsPropertiesCommand.h 
b/Source/cmSetTestsPropertiesCommand.h
index 04ba76e..45aed79 100644
--- a/Source/cmSetTestsPropertiesCommand.h
+++ b/Source/cmSetTestsPropertiesCommand.h
@@ -3,8 +3,15 @@
 #ifndef cmSetTestsPropertiesCommand_h
 #define cmSetTestsPropertiesCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmCommand.h"
 
+class cmExecutionStatus;
+class cmMakefile;
+
 class cmSetTestsPropertiesCommand : public cmCommand
 {
 public:
diff --git a/Source/cmSiteNameCommand.cxx b/Source/cmSiteNameCommand.cxx
index 18c2a3e..4322a6d 100644
--- a/Source/cmSiteNameCommand.cxx
+++ b/Source/cmSiteNameCommand.cxx
@@ -2,9 +2,13 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmSiteNameCommand.h"
 
+#include <cmsys/RegularExpression.hxx>
+
+#include "cmMakefile.h"
+#include "cmStateTypes.h"
 #include "cmSystemTools.h"
 
-#include <cmsys/RegularExpression.hxx>
+class cmExecutionStatus;
 
 // cmSiteNameCommand
 bool cmSiteNameCommand::InitialPass(std::vector<std::string> const& args,
diff --git a/Source/cmSiteNameCommand.h b/Source/cmSiteNameCommand.h
index 48d1035..01023b9 100644
--- a/Source/cmSiteNameCommand.h
+++ b/Source/cmSiteNameCommand.h
@@ -3,8 +3,14 @@
 #ifndef cmSiteNameCommand_h
 #define cmSiteNameCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmCommand.h"
 
+class cmExecutionStatus;
+
 /** \class cmSiteNameCommand
  * \brief site_name command
  *
diff --git a/Source/cmStringCommand.cxx b/Source/cmStringCommand.cxx
index 33d22e4..512bc91 100644
--- a/Source/cmStringCommand.cxx
+++ b/Source/cmStringCommand.cxx
@@ -2,18 +2,23 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmStringCommand.h"
 
-#include "cmCryptoHash.h"
-#include "cmSystemTools.h"
-
+#include <algorithm>
 #include <cmsys/RegularExpression.hxx>
-#include <cmsys/SystemTools.hxx>
-
 #include <ctype.h>
-#include <stdlib.h> // required for atoi
-#include <time.h>
+#include <sstream>
+#include <stdio.h>
+#include <stdlib.h>
+
+#include "cmAlgorithms.h"
+#include "cmCryptoHash.h"
+#include "cmGeneratorExpression.h"
+#include "cmMakefile.h"
+#include "cmSystemTools.h"
+#include "cmTimestamp.h"
+#include "cmUuid.h"
+#include "cm_auto_ptr.hxx"
 
-#include <cmTimestamp.h>
-#include <cmUuid.h>
+class cmExecutionStatus;
 
 bool cmStringCommand::InitialPass(std::vector<std::string> const& args,
                                   cmExecutionStatus&)
diff --git a/Source/cmStringCommand.h b/Source/cmStringCommand.h
index b928f3c..c63bc3f 100644
--- a/Source/cmStringCommand.h
+++ b/Source/cmStringCommand.h
@@ -3,12 +3,13 @@
 #ifndef cmStringCommand_h
 #define cmStringCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmCommand.h"
 
-class cmMakefile;
-namespace cmsys {
-class RegularExpression;
-}
+class cmExecutionStatus;
 
 /** \class cmStringCommand
  * \brief Common string operations
diff --git a/Source/cmSubdirCommand.cxx b/Source/cmSubdirCommand.cxx
index d502c5f..55761bf 100644
--- a/Source/cmSubdirCommand.cxx
+++ b/Source/cmSubdirCommand.cxx
@@ -2,8 +2,11 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmSubdirCommand.h"
 
+#include "cmMakefile.h"
 #include "cmSystemTools.h"
 
+class cmExecutionStatus;
+
 // cmSubdirCommand
 bool cmSubdirCommand::InitialPass(std::vector<std::string> const& args,
                                   cmExecutionStatus&)
diff --git a/Source/cmSubdirCommand.h b/Source/cmSubdirCommand.h
index 0778638..ce1f876 100644
--- a/Source/cmSubdirCommand.h
+++ b/Source/cmSubdirCommand.h
@@ -3,8 +3,14 @@
 #ifndef cmSubdirCommand_h
 #define cmSubdirCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmCommand.h"
 
+class cmExecutionStatus;
+
 /** \class cmSubdirCommand
  * \brief Specify a list of subdirectories to build.
  *
diff --git a/Source/cmTargetLinkLibrariesCommand.cxx 
b/Source/cmTargetLinkLibrariesCommand.cxx
index 9626992..e173036 100644
--- a/Source/cmTargetLinkLibrariesCommand.cxx
+++ b/Source/cmTargetLinkLibrariesCommand.cxx
@@ -2,10 +2,20 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmTargetLinkLibrariesCommand.h"
 
+#include <sstream>
+#include <string.h>
+
 #include "cmGeneratorExpression.h"
 #include "cmGlobalGenerator.h"
+#include "cmMakefile.h"
+#include "cmPolicies.h"
 #include "cmState.h"
+#include "cmStateTypes.h"
 #include "cmSystemTools.h"
+#include "cmTarget.h"
+#include "cmake.h"
+
+class cmExecutionStatus;
 
 const char* cmTargetLinkLibrariesCommand::LinkLibraryTypeNames[3] = {
   "general", "debug", "optimized"
diff --git a/Source/cmTargetLinkLibrariesCommand.h 
b/Source/cmTargetLinkLibrariesCommand.h
index 69bb6eb..762b48f 100644
--- a/Source/cmTargetLinkLibrariesCommand.h
+++ b/Source/cmTargetLinkLibrariesCommand.h
@@ -3,7 +3,15 @@
 #ifndef cmTargetLinkLibrariesCommand_h
 #define cmTargetLinkLibrariesCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmCommand.h"
+#include "cmTargetLinkLibraryType.h"
+
+class cmExecutionStatus;
+class cmTarget;
 
 /** \class cmTargetLinkLibrariesCommand
  * \brief Specify a list of libraries to link into executables.
diff --git a/Source/cmTargetPropCommandBase.cxx 
b/Source/cmTargetPropCommandBase.cxx
index e2e02ad..7aba0f8 100644
--- a/Source/cmTargetPropCommandBase.cxx
+++ b/Source/cmTargetPropCommandBase.cxx
@@ -3,6 +3,7 @@
 #include "cmTargetPropCommandBase.h"
 
 #include "cmGlobalGenerator.h"
+#include "cmMakefile.h"
 
 bool cmTargetPropCommandBase::HandleArguments(
   std::vector<std::string> const& args, const std::string& prop,
diff --git a/Source/cmTryCompileCommand.cxx b/Source/cmTryCompileCommand.cxx
index 933818e..b6bfbfa 100644
--- a/Source/cmTryCompileCommand.cxx
+++ b/Source/cmTryCompileCommand.cxx
@@ -2,6 +2,11 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmTryCompileCommand.h"
 
+#include "cmMakefile.h"
+#include "cmake.h"
+
+class cmExecutionStatus;
+
 // cmTryCompileCommand
 bool cmTryCompileCommand::InitialPass(std::vector<std::string> const& argv,
                                       cmExecutionStatus&)
diff --git a/Source/cmTryCompileCommand.h b/Source/cmTryCompileCommand.h
index ed74ae1..52a0345 100644
--- a/Source/cmTryCompileCommand.h
+++ b/Source/cmTryCompileCommand.h
@@ -3,8 +3,15 @@
 #ifndef cmTryCompileCommand_h
 #define cmTryCompileCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmCoreTryCompile.h"
 
+class cmCommand;
+class cmExecutionStatus;
+
 /** \class cmTryCompileCommand
  * \brief Specifies where to install some files
  *
diff --git a/Source/cmTryRunCommand.cxx b/Source/cmTryRunCommand.cxx
index 6787c8e..9457d5b 100644
--- a/Source/cmTryRunCommand.cxx
+++ b/Source/cmTryRunCommand.cxx
@@ -2,11 +2,17 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmTryRunCommand.h"
 
+#include <cmsys/FStream.hxx>
+#include <stdio.h>
+#include <string.h>
+
+#include "cmMakefile.h"
 #include "cmState.h"
+#include "cmStateTypes.h"
 #include "cmSystemTools.h"
-#include "cmTryCompileCommand.h"
+#include "cmake.h"
 
-#include <cmsys/FStream.hxx>
+class cmExecutionStatus;
 
 // cmTryRunCommand
 bool cmTryRunCommand::InitialPass(std::vector<std::string> const& argv,
diff --git a/Source/cmTryRunCommand.h b/Source/cmTryRunCommand.h
index 24447ed..8b44ac5 100644
--- a/Source/cmTryRunCommand.h
+++ b/Source/cmTryRunCommand.h
@@ -3,8 +3,15 @@
 #ifndef cmTryRunCommand_h
 #define cmTryRunCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmCoreTryCompile.h"
 
+class cmCommand;
+class cmExecutionStatus;
+
 /** \class cmTryRunCommand
  * \brief Specifies where to install some files
  *
diff --git a/Source/cmUnsetCommand.cxx b/Source/cmUnsetCommand.cxx
index 2fea6192..31525ba 100644
--- a/Source/cmUnsetCommand.cxx
+++ b/Source/cmUnsetCommand.cxx
@@ -2,8 +2,14 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmUnsetCommand.h"
 
+#include <string.h>
+
+#include "cmAlgorithms.h"
+#include "cmMakefile.h"
 #include "cmSystemTools.h"
 
+class cmExecutionStatus;
+
 // cmUnsetCommand
 bool cmUnsetCommand::InitialPass(std::vector<std::string> const& args,
                                  cmExecutionStatus&)
diff --git a/Source/cmUnsetCommand.h b/Source/cmUnsetCommand.h
index 37b9270..5b07202 100644
--- a/Source/cmUnsetCommand.h
+++ b/Source/cmUnsetCommand.h
@@ -3,8 +3,14 @@
 #ifndef cmUnsetCommand_h
 #define cmUnsetCommand_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmCommand.h"
 
+class cmExecutionStatus;
+
 /** \class cmUnsetCommand
  * \brief Unset a CMAKE variable
  *
diff --git a/Source/cmUtilitySourceCommand.cxx 
b/Source/cmUtilitySourceCommand.cxx
index f98d512..3b78abe 100644
--- a/Source/cmUtilitySourceCommand.cxx
+++ b/Source/cmUtilitySourceCommand.cxx
@@ -7,7 +7,7 @@
 #include "cmMakefile.h"
 #include "cmPolicies.h"
 #include "cmState.h"
-#include "cmState.h"
+#include "cmStateTypes.h"
 #include "cmSystemTools.h"
 
 class cmExecutionStatus;
diff --git a/Source/cmWhileCommand.cxx b/Source/cmWhileCommand.cxx
index beb59bf..38ea637 100644
--- a/Source/cmWhileCommand.cxx
+++ b/Source/cmWhileCommand.cxx
@@ -3,7 +3,12 @@
 #include "cmWhileCommand.h"
 
 #include "cmConditionEvaluator.h"
+#include "cmExecutionStatus.h"
+#include "cmExpandedCommandArgument.h"
+#include "cmMakefile.h"
 #include "cmSystemTools.h"
+#include "cm_auto_ptr.hxx"
+#include "cmake.h"
 
 cmWhileFunctionBlocker::cmWhileFunctionBlocker(cmMakefile* mf)
   : Makefile(mf)
diff --git a/Source/cmWhileCommand.h b/Source/cmWhileCommand.h
index cc114ec..abd36b3 100644
--- a/Source/cmWhileCommand.h
+++ b/Source/cmWhileCommand.h
@@ -3,11 +3,17 @@
 #ifndef cmWhileCommand_h
 #define cmWhileCommand_h
 
-#include "cmCommand.h"
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
 
+#include "cmCommand.h"
 #include "cmFunctionBlocker.h"
 #include "cmListFileCache.h"
 
+class cmExecutionStatus;
+class cmMakefile;
+
 class cmWhileFunctionBlocker : public cmFunctionBlocker
 {
 public:

-----------------------------------------------------------------------

Summary of changes:
 Source/cmAddCustomCommandCommand.cxx          |   12 +++++++--
 Source/cmAddCustomCommandCommand.h            |    6 +++++
 Source/cmAddCustomTargetCommand.cxx           |   10 +++++++
 Source/cmAddCustomTargetCommand.h             |    6 +++++
 Source/cmAddDefinitionsCommand.cxx            |    4 +++
 Source/cmAddDefinitionsCommand.h              |    6 +++++
 Source/cmAddDependenciesCommand.cxx           |    8 +++++-
 Source/cmAddDependenciesCommand.h             |    6 +++++
 Source/cmAddExecutableCommand.cxx             |   10 +++++++
 Source/cmAddExecutableCommand.h               |    6 +++++
 Source/cmAddLibraryCommand.cxx                |    8 ++++++
 Source/cmAddLibraryCommand.h                  |    6 +++++
 Source/cmAddSubDirectoryCommand.cxx           |    6 +++++
 Source/cmAddSubDirectoryCommand.h             |    6 +++++
 Source/cmAddTestCommand.cxx                   |    6 ++++-
 Source/cmAddTestCommand.h                     |    6 +++++
 Source/cmBreakCommand.cxx                     |    5 ++++
 Source/cmBreakCommand.h                       |    6 +++++
 Source/cmBuildCommand.cxx                     |    8 ++++++
 Source/cmBuildCommand.h                       |    6 +++++
 Source/cmBuildNameCommand.cxx                 |    2 +-
 Source/cmCMakeMinimumRequired.cxx             |    1 +
 Source/cmCMakePolicyCommand.cxx               |    9 ++++++-
 Source/cmCMakePolicyCommand.h                 |    6 +++++
 Source/cmCommand.cxx                          |    6 +++++
 Source/cmCommand.h                            |   11 ++++++--
 Source/cmCommands.cxx                         |   12 ---------
 Source/cmConditionEvaluator.cxx               |    1 +
 Source/cmConditionEvaluator.h                 |    2 ++
 Source/cmConfigureFileCommand.cxx             |    6 ++++-
 Source/cmConfigureFileCommand.h               |    7 +++++
 Source/cmContinueCommand.cxx                  |    2 ++
 Source/cmContinueCommand.h                    |    6 +++++
 Source/cmCoreTryCompile.cxx                   |    1 +
 Source/cmCoreTryCompile.h                     |    1 +
 Source/cmCreateTestSourceList.cxx             |    1 +
 Source/cmDefinePropertyCommand.cxx            |    8 ++++--
 Source/cmDefinePropertyCommand.h              |    6 +++++
 Source/cmElseCommand.cxx                      |    2 ++
 Source/cmElseCommand.h                        |    8 +++++-
 Source/cmEnableLanguageCommand.cxx            |    4 +++
 Source/cmEnableLanguageCommand.h              |    6 +++++
 Source/cmEnableTestingCommand.cxx             |    4 +++
 Source/cmEnableTestingCommand.h               |    6 +++++
 Source/cmEndForEachCommand.cxx                |    3 +++
 Source/cmEndForEachCommand.h                  |    7 +++++
 Source/cmEndFunctionCommand.cxx               |    3 +++
 Source/cmEndFunctionCommand.h                 |    7 +++++
 Source/cmEndIfCommand.cxx                     |    5 ++++
 Source/cmEndIfCommand.h                       |    8 +++++-
 Source/cmEndMacroCommand.cxx                  |    3 +++
 Source/cmEndMacroCommand.h                    |    7 +++++
 Source/cmEndWhileCommand.cxx                  |    3 +++
 Source/cmEndWhileCommand.h                    |    7 +++++
 Source/cmExecProgramCommand.cxx               |    6 ++++-
 Source/cmExecProgramCommand.h                 |    6 +++++
 Source/cmExecuteProcessCommand.cxx            |   10 ++++---
 Source/cmExecuteProcessCommand.h              |    6 +++++
 Source/cmExportCommand.cxx                    |    2 +-
 Source/cmExportLibraryDependenciesCommand.cxx |    7 +++--
 Source/cmFileCommand.cxx                      |    4 +--
 Source/cmFileCommand.h                        |    6 ++++-
 Source/cmFindBase.cxx                         |    1 +
 Source/cmFindCommon.cxx                       |    1 +
 Source/cmFindFileCommand.cxx                  |    2 --
 Source/cmFindFileCommand.h                    |    5 ++++
 Source/cmFindLibraryCommand.cxx               |   11 ++++++--
 Source/cmFindLibraryCommand.h                 |    7 +++++
 Source/cmFindPackageCommand.cxx               |   35 +++++++++++++++----------
 Source/cmFindPackageCommand.h                 |   11 +++++++-
 Source/cmFindPathCommand.cxx                  |    6 ++++-
 Source/cmFindPathCommand.h                    |    7 +++++
 Source/cmFindProgramCommand.cxx               |    4 ++-
 Source/cmFindProgramCommand.h                 |    7 +++++
 Source/cmForEachCommand.cxx                   |   10 +++++--
 Source/cmForEachCommand.h                     |    8 +++++-
 Source/cmFunctionCommand.cxx                  |    8 +++++-
 Source/cmFunctionCommand.h                    |    9 ++++++-
 Source/cmGetCMakePropertyCommand.cxx          |    8 ++++--
 Source/cmGetCMakePropertyCommand.h            |    6 +++++
 Source/cmGetDirectoryPropertyCommand.cxx      |    4 +++
 Source/cmGetDirectoryPropertyCommand.h        |    6 +++++
 Source/cmGetFilenameComponentCommand.cxx      |    4 +++
 Source/cmGetFilenameComponentCommand.h        |    6 +++++
 Source/cmGetPropertyCommand.cxx               |   13 ++++++++-
 Source/cmGetPropertyCommand.h                 |    6 +++++
 Source/cmGetSourceFilePropertyCommand.cxx     |    3 +++
 Source/cmGetSourceFilePropertyCommand.h       |    6 +++++
 Source/cmGetTargetPropertyCommand.cxx         |   10 +++++++
 Source/cmGetTargetPropertyCommand.h           |    6 +++++
 Source/cmGetTestPropertyCommand.cxx           |    4 ++-
 Source/cmGetTestPropertyCommand.h             |    6 +++++
 Source/cmIfCommand.cxx                        |   13 +++++----
 Source/cmIfCommand.h                          |   10 ++++++-
 Source/cmIncludeCommand.cxx                   |    7 +++++
 Source/cmIncludeCommand.h                     |    6 +++++
 Source/cmIncludeDirectoryCommand.cxx          |    6 +++++
 Source/cmIncludeDirectoryCommand.h            |    6 +++++
 Source/cmIncludeExternalMSProjectCommand.cxx  |    3 +++
 Source/cmIncludeRegularExpressionCommand.cxx  |    4 +++
 Source/cmIncludeRegularExpressionCommand.h    |    6 +++++
 Source/cmInstallCommand.cxx                   |   17 +++++++++++-
 Source/cmInstallCommand.h                     |    6 +++++
 Source/cmInstallFilesCommand.cxx              |    5 ++++
 Source/cmInstallFilesCommand.h                |    6 +++++
 Source/cmInstallTargetsCommand.cxx            |    7 +++++
 Source/cmInstallTargetsCommand.h              |    6 +++++
 Source/cmLinkDirectoriesCommand.cxx           |    7 +++++
 Source/cmLinkDirectoriesCommand.h             |    6 +++++
 Source/cmListCommand.cxx                      |   19 +++++++++-----
 Source/cmListCommand.h                        |    6 +++++
 Source/cmLoadCacheCommand.cxx                 |    2 +-
 Source/cmMacroCommand.cxx                     |    8 +++++-
 Source/cmMacroCommand.h                       |    9 ++++++-
 Source/cmMakeDirectoryCommand.cxx             |    3 +++
 Source/cmMakeDirectoryCommand.h               |    6 +++++
 Source/cmMarkAsAdvancedCommand.cxx            |    5 ++++
 Source/cmMarkAsAdvancedCommand.h              |    6 +++++
 Source/cmMathCommand.cxx                      |    5 ++++
 Source/cmMathCommand.h                        |    6 +++++
 Source/cmMessageCommand.cxx                   |    7 +++++
 Source/cmMessageCommand.h                     |    6 +++++
 Source/cmOptionCommand.cxx                    |    7 +++++
 Source/cmOptionCommand.h                      |    6 +++++
 Source/cmOutputRequiredFilesCommand.cxx       |    3 +++
 Source/cmParseArgumentsCommand.cxx            |   11 ++++++++
 Source/cmParseArgumentsCommand.h              |    6 +++++
 Source/cmProjectCommand.cxx                   |   10 +++++++
 Source/cmProjectCommand.h                     |    6 +++++
 Source/cmReturnCommand.h                      |    6 +++++
 Source/cmSearchPath.cxx                       |    3 +++
 Source/cmSeparateArgumentsCommand.cxx         |    6 +++++
 Source/cmSeparateArgumentsCommand.h           |    6 +++++
 Source/cmSetCommand.cxx                       |    8 ++++++
 Source/cmSetCommand.h                         |    6 +++++
 Source/cmSetDirectoryPropertiesCommand.cxx    |    4 ++-
 Source/cmSetDirectoryPropertiesCommand.h      |    7 +++++
 Source/cmSetPropertyCommand.cxx               |   13 ++++++---
 Source/cmSetPropertyCommand.h                 |   11 ++++++++
 Source/cmSetSourceFilesPropertiesCommand.cxx  |    3 +++
 Source/cmSetSourceFilesPropertiesCommand.h    |    7 +++++
 Source/cmSetTargetPropertiesCommand.cxx       |    7 ++++-
 Source/cmSetTargetPropertiesCommand.h         |    7 +++++
 Source/cmSetTestsPropertiesCommand.cxx        |    6 ++++-
 Source/cmSetTestsPropertiesCommand.h          |    7 +++++
 Source/cmSiteNameCommand.cxx                  |    6 ++++-
 Source/cmSiteNameCommand.h                    |    6 +++++
 Source/cmStringCommand.cxx                    |   23 +++++++++-------
 Source/cmStringCommand.h                      |    9 ++++---
 Source/cmSubdirCommand.cxx                    |    3 +++
 Source/cmSubdirCommand.h                      |    6 +++++
 Source/cmTargetLinkLibrariesCommand.cxx       |   10 +++++++
 Source/cmTargetLinkLibrariesCommand.h         |    8 ++++++
 Source/cmTargetPropCommandBase.cxx            |    1 +
 Source/cmTryCompileCommand.cxx                |    5 ++++
 Source/cmTryCompileCommand.h                  |    7 +++++
 Source/cmTryRunCommand.cxx                    |   10 +++++--
 Source/cmTryRunCommand.h                      |    7 +++++
 Source/cmUnsetCommand.cxx                     |    6 +++++
 Source/cmUnsetCommand.h                       |    6 +++++
 Source/cmUtilitySourceCommand.cxx             |    2 +-
 Source/cmWhileCommand.cxx                     |    5 ++++
 Source/cmWhileCommand.h                       |    8 +++++-
 163 files changed, 961 insertions(+), 107 deletions(-)


hooks/post-receive
-- 
CMake
_______________________________________________
Cmake-commits mailing list
Cmake-commits@cmake.org
http://public.kitware.com/mailman/listinfo/cmake-commits

Reply via email to