summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Source/cmAddCustomCommandCommand.cxx12
-rw-r--r--Source/cmAddCustomCommandCommand.h6
-rw-r--r--Source/cmAddCustomTargetCommand.cxx10
-rw-r--r--Source/cmAddCustomTargetCommand.h6
-rw-r--r--Source/cmAddDefinitionsCommand.cxx4
-rw-r--r--Source/cmAddDefinitionsCommand.h6
-rw-r--r--Source/cmAddDependenciesCommand.cxx8
-rw-r--r--Source/cmAddDependenciesCommand.h6
-rw-r--r--Source/cmAddExecutableCommand.cxx10
-rw-r--r--Source/cmAddExecutableCommand.h6
-rw-r--r--Source/cmAddLibraryCommand.cxx8
-rw-r--r--Source/cmAddLibraryCommand.h6
-rw-r--r--Source/cmAddSubDirectoryCommand.cxx6
-rw-r--r--Source/cmAddSubDirectoryCommand.h6
-rw-r--r--Source/cmAddTestCommand.cxx6
-rw-r--r--Source/cmAddTestCommand.h6
-rw-r--r--Source/cmBreakCommand.cxx5
-rw-r--r--Source/cmBreakCommand.h6
-rw-r--r--Source/cmBuildCommand.cxx8
-rw-r--r--Source/cmBuildCommand.h6
-rw-r--r--Source/cmBuildNameCommand.cxx2
-rw-r--r--Source/cmCMakeMinimumRequired.cxx1
-rw-r--r--Source/cmCMakePolicyCommand.cxx9
-rw-r--r--Source/cmCMakePolicyCommand.h6
-rw-r--r--Source/cmCommand.cxx6
-rw-r--r--Source/cmCommand.h11
-rw-r--r--Source/cmCommands.cxx12
-rw-r--r--Source/cmConditionEvaluator.cxx1
-rw-r--r--Source/cmConditionEvaluator.h2
-rw-r--r--Source/cmConfigureFileCommand.cxx6
-rw-r--r--Source/cmConfigureFileCommand.h7
-rw-r--r--Source/cmContinueCommand.cxx2
-rw-r--r--Source/cmContinueCommand.h6
-rw-r--r--Source/cmCoreTryCompile.cxx1
-rw-r--r--Source/cmCoreTryCompile.h1
-rw-r--r--Source/cmCreateTestSourceList.cxx1
-rw-r--r--Source/cmDefinePropertyCommand.cxx8
-rw-r--r--Source/cmDefinePropertyCommand.h6
-rw-r--r--Source/cmElseCommand.cxx2
-rw-r--r--Source/cmElseCommand.h8
-rw-r--r--Source/cmEnableLanguageCommand.cxx4
-rw-r--r--Source/cmEnableLanguageCommand.h6
-rw-r--r--Source/cmEnableTestingCommand.cxx4
-rw-r--r--Source/cmEnableTestingCommand.h6
-rw-r--r--Source/cmEndForEachCommand.cxx3
-rw-r--r--Source/cmEndForEachCommand.h7
-rw-r--r--Source/cmEndFunctionCommand.cxx3
-rw-r--r--Source/cmEndFunctionCommand.h7
-rw-r--r--Source/cmEndIfCommand.cxx5
-rw-r--r--Source/cmEndIfCommand.h8
-rw-r--r--Source/cmEndMacroCommand.cxx3
-rw-r--r--Source/cmEndMacroCommand.h7
-rw-r--r--Source/cmEndWhileCommand.cxx4
-rw-r--r--Source/cmEndWhileCommand.h7
-rw-r--r--Source/cmExecProgramCommand.cxx6
-rw-r--r--Source/cmExecProgramCommand.h6
-rw-r--r--Source/cmExecuteProcessCommand.cxx10
-rw-r--r--Source/cmExecuteProcessCommand.h6
-rw-r--r--Source/cmExportCommand.cxx2
-rw-r--r--Source/cmExportLibraryDependenciesCommand.cxx7
-rw-r--r--Source/cmFileCommand.cxx4
-rw-r--r--Source/cmFileCommand.h6
-rw-r--r--Source/cmFindBase.cxx1
-rw-r--r--Source/cmFindCommon.cxx1
-rw-r--r--Source/cmFindFileCommand.cxx2
-rw-r--r--Source/cmFindFileCommand.h5
-rw-r--r--Source/cmFindLibraryCommand.cxx11
-rw-r--r--Source/cmFindLibraryCommand.h7
-rw-r--r--Source/cmFindPackageCommand.cxx35
-rw-r--r--Source/cmFindPackageCommand.h11
-rw-r--r--Source/cmFindPathCommand.cxx6
-rw-r--r--Source/cmFindPathCommand.h7
-rw-r--r--Source/cmFindProgramCommand.cxx4
-rw-r--r--Source/cmFindProgramCommand.h7
-rw-r--r--Source/cmForEachCommand.cxx10
-rw-r--r--Source/cmForEachCommand.h8
-rw-r--r--Source/cmFunctionCommand.cxx8
-rw-r--r--Source/cmFunctionCommand.h9
-rw-r--r--Source/cmGetCMakePropertyCommand.cxx8
-rw-r--r--Source/cmGetCMakePropertyCommand.h6
-rw-r--r--Source/cmGetDirectoryPropertyCommand.cxx4
-rw-r--r--Source/cmGetDirectoryPropertyCommand.h6
-rw-r--r--Source/cmGetFilenameComponentCommand.cxx4
-rw-r--r--Source/cmGetFilenameComponentCommand.h6
-rw-r--r--Source/cmGetPropertyCommand.cxx13
-rw-r--r--Source/cmGetPropertyCommand.h6
-rw-r--r--Source/cmGetSourceFilePropertyCommand.cxx3
-rw-r--r--Source/cmGetSourceFilePropertyCommand.h6
-rw-r--r--Source/cmGetTargetPropertyCommand.cxx10
-rw-r--r--Source/cmGetTargetPropertyCommand.h6
-rw-r--r--Source/cmGetTestPropertyCommand.cxx4
-rw-r--r--Source/cmGetTestPropertyCommand.h6
-rw-r--r--Source/cmIfCommand.cxx13
-rw-r--r--Source/cmIfCommand.h10
-rw-r--r--Source/cmIncludeCommand.cxx7
-rw-r--r--Source/cmIncludeCommand.h6
-rw-r--r--Source/cmIncludeDirectoryCommand.cxx6
-rw-r--r--Source/cmIncludeDirectoryCommand.h6
-rw-r--r--Source/cmIncludeExternalMSProjectCommand.cxx3
-rw-r--r--Source/cmIncludeRegularExpressionCommand.cxx4
-rw-r--r--Source/cmIncludeRegularExpressionCommand.h6
-rw-r--r--Source/cmInstallCommand.cxx17
-rw-r--r--Source/cmInstallCommand.h6
-rw-r--r--Source/cmInstallFilesCommand.cxx5
-rw-r--r--Source/cmInstallFilesCommand.h6
-rw-r--r--Source/cmInstallTargetsCommand.cxx7
-rw-r--r--Source/cmInstallTargetsCommand.h6
-rw-r--r--Source/cmLinkDirectoriesCommand.cxx7
-rw-r--r--Source/cmLinkDirectoriesCommand.h6
-rw-r--r--Source/cmListCommand.cxx19
-rw-r--r--Source/cmListCommand.h6
-rw-r--r--Source/cmLoadCacheCommand.cxx2
-rw-r--r--Source/cmMacroCommand.cxx8
-rw-r--r--Source/cmMacroCommand.h9
-rw-r--r--Source/cmMakeDirectoryCommand.cxx3
-rw-r--r--Source/cmMakeDirectoryCommand.h6
-rw-r--r--Source/cmMarkAsAdvancedCommand.cxx5
-rw-r--r--Source/cmMarkAsAdvancedCommand.h6
-rw-r--r--Source/cmMathCommand.cxx5
-rw-r--r--Source/cmMathCommand.h6
-rw-r--r--Source/cmMessageCommand.cxx7
-rw-r--r--Source/cmMessageCommand.h6
-rw-r--r--Source/cmOptionCommand.cxx7
-rw-r--r--Source/cmOptionCommand.h6
-rw-r--r--Source/cmOutputRequiredFilesCommand.cxx3
-rw-r--r--Source/cmParseArgumentsCommand.cxx11
-rw-r--r--Source/cmParseArgumentsCommand.h6
-rw-r--r--Source/cmProjectCommand.cxx10
-rw-r--r--Source/cmProjectCommand.h6
-rw-r--r--Source/cmReturnCommand.h6
-rw-r--r--Source/cmSearchPath.cxx3
-rw-r--r--Source/cmSeparateArgumentsCommand.cxx6
-rw-r--r--Source/cmSeparateArgumentsCommand.h6
-rw-r--r--Source/cmSetCommand.cxx8
-rw-r--r--Source/cmSetCommand.h6
-rw-r--r--Source/cmSetDirectoryPropertiesCommand.cxx4
-rw-r--r--Source/cmSetDirectoryPropertiesCommand.h7
-rw-r--r--Source/cmSetPropertyCommand.cxx13
-rw-r--r--Source/cmSetPropertyCommand.h11
-rw-r--r--Source/cmSetSourceFilesPropertiesCommand.cxx3
-rw-r--r--Source/cmSetSourceFilesPropertiesCommand.h7
-rw-r--r--Source/cmSetTargetPropertiesCommand.cxx7
-rw-r--r--Source/cmSetTargetPropertiesCommand.h7
-rw-r--r--Source/cmSetTestsPropertiesCommand.cxx6
-rw-r--r--Source/cmSetTestsPropertiesCommand.h7
-rw-r--r--Source/cmSiteNameCommand.cxx6
-rw-r--r--Source/cmSiteNameCommand.h6
-rw-r--r--Source/cmStringCommand.cxx23
-rw-r--r--Source/cmStringCommand.h9
-rw-r--r--Source/cmSubdirCommand.cxx3
-rw-r--r--Source/cmSubdirCommand.h6
-rw-r--r--Source/cmTargetLinkLibrariesCommand.cxx10
-rw-r--r--Source/cmTargetLinkLibrariesCommand.h8
-rw-r--r--Source/cmTargetPropCommandBase.cxx1
-rw-r--r--Source/cmTryCompileCommand.cxx5
-rw-r--r--Source/cmTryCompileCommand.h7
-rw-r--r--Source/cmTryRunCommand.cxx10
-rw-r--r--Source/cmTryRunCommand.h7
-rw-r--r--Source/cmUnsetCommand.cxx6
-rw-r--r--Source/cmUnsetCommand.h6
-rw-r--r--Source/cmUtilitySourceCommand.cxx2
-rw-r--r--Source/cmWhileCommand.cxx5
-rw-r--r--Source/cmWhileCommand.h8
163 files changed, 962 insertions, 107 deletions
diff --git a/Source/cmAddCustomCommandCommand.cxx b/Source/cmAddCustomCommandCommand.cxx
index 1ab4ef6ac8..620de31d33 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 643163c7af..ea921630b7 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 9c41dac2ae..4e656aa6fc 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 2ad244c574..b6792472fe 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 8d82e71a79..9e0607c60e 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 c6b56992e0..735f8cc1e0 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 0fa89433a9..e49d5d5d90 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 2c7aa02cd2..8be546c6c4 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 3d0729b8e0..2a0bb15307 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 03faaf10b4..62583d8951 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 56cf91ae4b..5c9c744361 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 d8eba8dc91..c23b2998fd 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 0ebe35d54b..34ec0e35e6 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 f300b2e1c6..85305e6d05 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 11342eebb5..3a3afdb052 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 7bbf7cf1c7..07eff6866b 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 a5b6e84721..9bb6137c86 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 f1ade9a1ea..5113e180dc 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 8aa4102087..d03b8c4baf 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 0dce4e4aaf..62f1fd3b5d 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 3257c93915..1e1cd21210 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 d71172c860..655c42aa90 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 67581b6a09..3ccc815e68 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 68d9f7ba0c..409fc59be1 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 3c839de859..181b412661 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 dcfe8da137..d9fd5a286d 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 0697d4b739..103e72cfc4 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 7d98e737b7..71d6c4ea0c 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 306bee4414..3c9d2cda9f 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 0755dceb7d..b9c75497a8 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 9df4550f02..e558b85ff2 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 dc3e02c99d..53d035db89 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 0c4e650e62..c5b8919370 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 c7b6d58791..a1de074904 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 5f909dd272..0d9bb7921b 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 b062d4d9f6..14a6c88c86 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 af4eff9fc3..9a097f3d80 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 cdfff9f521..02e5b883fc 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 16e53f6b1c..207777e1d8 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 32e04a7c4c..c0162add8c 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 49fd6fdbc8..c57b7b15ce 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 34e1d3d66b..bafb79e832 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 d66c5b3555..6a64450f55 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 b94967adbf..67cd237bbf 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 7184bae506..fe6a7f352f 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 a146e4d46d..772a1395e0 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 82344c6801..6adb42b1ea 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 ab174fd886..2599637bb9 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 78a0d0f936..50c2b42dc2 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 d068bb409f..dfd60490ff 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 189d9692e5..046b0af086 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 34ae880b36..3c462d458f 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 b635168179..5623f33299 100644
--- a/Source/cmEndWhileCommand.cxx
+++ b/Source/cmEndWhileCommand.cxx
@@ -2,6 +2,10 @@
file Copyright.txt or https://cmake.org/licensing for details. */
#include "cmEndWhileCommand.h"
+#include "cmListFileCache.h"
+
+class cmExecutionStatus;
+
bool cmEndWhileCommand::InvokeInitialPass(
std::vector<cmListFileArgument> const& args, cmExecutionStatus&)
{
diff --git a/Source/cmEndWhileCommand.h b/Source/cmEndWhileCommand.h
index 23667060f8..d4e97b4e73 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 a3d68520bc..df92592aaa 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 a3e96ae89f..7cdf77739f 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 2bcf2441e6..c8a3a84846 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 22429986b5..9ce4338c6c 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 c9dac352d6..810227689e 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 bf1ea012b6..f556a8b523 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 6b5870b08a..6285894550 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 b53bae8326..319864c873 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 118c58121b..3d67ac102a 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 bc175ff2d3..75d1453d6c 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 9c66cd2c50..9840c4f499 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 e121784a5f..5c94ebf237 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 56be0cba74..2feedf3ff4 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 8531e514fb..aeff62971b 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 373b728be4..60de74f416 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 101749e895..d4548928df 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 66dc5d742d..0900f46b7f 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 4ba67ed402..edeeb3a6f9 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 d258c3c8d2..2c496ba3ba 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 4326124832..dc17803f07 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 6fbc93d975..6273f6e9f5 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 9ba4af036f..93c467620e 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 e9d4496115..0ba575a011 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 7d868b2967..afea6f9c87 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 01b41e86bf..c92ae2180c 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 30bc2d8140..41a51a4409 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 0670d31692..920e1a0140 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 625adb0361..1ae3125395 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 c18394742b..5915a67fab 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 68bf31f593..c0ad903a86 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 1852eab31f..d2056d2964 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 20268b4696..f9a33acd8c 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 43f92566fe..509ef95b1c 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 1edc392c94..0f7185122a 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 e78f7800ee..23792922d8 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 f36cc4891c..32fe803c47 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 4a445dc30a..a8a44b712a 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 5dc89bddb8..0491cc8b07 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 eb85b16165..a8fa4f92e1 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 e071acb0c0..56eef30e26 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 e89641f4ee..0f7799e588 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 9065ef7b82..78edd43c22 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 2260366e21..cdb0279724 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 d0a20b379a..287b5d3cd0 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 e7e940245e..03388c7e9d 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 6dc20a0603..073c95f7db 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 b7c937d13b..c68d9f297e 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 476755a4eb..7bf946293a 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 b350330059..187a6ceae1 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 50f97e9ea3..86fd46dbb2 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 da09fae448..c3e2919644 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 07f990dafb..e00eba0127 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 0625722ec3..150397d34f 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 3a18a437dd..f863292493 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 ba0313b63d..387b3b94fc 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 6cc9590177..295ea288fd 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 43a482ca9a..e7413caa9a 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 2a06cb4d7e..ea84877a9b 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 9bfc70bab7..d777bd5425 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 8e3cd95a9a..acb42339ce 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 fda9eeaa6a..06e295bc04 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 74b4a6361b..d9cce6f735 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 7297193a83..b2f0d22e1c 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 0f5270cd65..26caa66249 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 42e6b90f2d..c1cd1b6c2a 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 17a1575e6b..9b49b211b9 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 83d847a1fd..2e157206ea 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 cd16ffa09d..a5656355b9 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 d6efa2c23c..bbd6090943 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 d77215a579..09567ffc2f 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 6ecd942b1a..32b0a9248b 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 e45e3a511c..0a2dd12fee 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 af87d81c80..079eadb82b 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 4188661d59..4e0fa575aa 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 ef554f3d6b..cd92176c3a 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 06b91bc49e..9496d67a37 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 fd3d4829a4..ff0b8363a5 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 77546a3851..b27d227f34 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 d80d04354f..1cbf56e79f 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 9f59db4a63..e49f142fd2 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 6fa3865196..190092acce 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 b0de021a59..8d3961a795 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 9608742b33..854ad4374a 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 552f9185a0..79221c893a 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 b4dff768d6..fd7c922abb 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 6a87d6d5aa..33e1b2e062 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 62cc40487f..8fa12c7806 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 200b42de81..da2697231b 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 ed02fa86f9..c3c0d06cfe 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 5abb84e28d..4fd379fba4 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 04ba76e4bf..45aed792c9 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 18c2a3efe0..4322a6d282 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 48d1035fc5..01023b96ee 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 33d22e4539..512bc9131f 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 b928f3caef..c63bc3f907 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 d502c5f324..55761bfd72 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 077863862a..ce1f876e84 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 962699274e..e173036454 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 69bb6ebc89..762b48fc07 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 e2e02ad66a..7aba0f85d3 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 933818eddd..b6bfbfa69c 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 ed74ae12ab..52a034591f 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 6787c8e38a..9457d5b2e5 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 24447edb92..8b44ac5a98 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 2fea619256..31525ba4a6 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 37b9270e6c..5b07202fca 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 f98d512cd6..3b78abec08 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 beb59bfbda..38ea637e2d 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 cc114eca2b..abd36b3293 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: