Просмотр исходного кода

Fix several include-what-you-use findings

Daniel Pfeifer 9 лет назад
Родитель
Сommit
2e620f0b38
100 измененных файлов с 521 добавлено и 341 удалено
  1. 1 0
      Source/CTest/cmCTestScriptHandler.cxx
  2. 2 0
      Source/QtDialog/CMakeSetup.cxx
  3. 11 3
      Source/cmAlgorithms.h
  4. 6 0
      Source/cmCMakeMinimumRequired.cxx
  5. 6 0
      Source/cmCMakeMinimumRequired.h
  6. 23 22
      Source/cmCTest.cxx
  7. 6 5
      Source/cmCacheManager.cxx
  8. 3 3
      Source/cmCacheManager.h
  9. 4 2
      Source/cmCommandArgumentsHelper.h
  10. 1 2
      Source/cmCommonTargetGenerator.cxx
  11. 1 4
      Source/cmCommonTargetGenerator.h
  12. 11 1
      Source/cmConditionEvaluator.cxx
  13. 8 2
      Source/cmConditionEvaluator.h
  14. 11 3
      Source/cmCoreTryCompile.cxx
  15. 5 0
      Source/cmCoreTryCompile.h
  16. 4 0
      Source/cmCreateTestSourceList.cxx
  17. 7 0
      Source/cmCreateTestSourceList.h
  18. 1 0
      Source/cmDefinitions.cxx
  19. 4 4
      Source/cmDefinitions.h
  20. 3 4
      Source/cmDependsC.cxx
  21. 9 8
      Source/cmDependsFortran.cxx
  22. 2 0
      Source/cmDependsJavaParserHelper.h
  23. 0 4
      Source/cmExecutionStatus.h
  24. 2 2
      Source/cmExpandedCommandArgument.h
  25. 13 5
      Source/cmExportBuildAndroidMKGenerator.cxx
  26. 8 2
      Source/cmExportBuildAndroidMKGenerator.h
  27. 6 5
      Source/cmExportInstallAndroidMKGenerator.cxx
  28. 9 1
      Source/cmExportInstallAndroidMKGenerator.h
  29. 5 6
      Source/cmExtraCodeBlocksGenerator.cxx
  30. 8 9
      Source/cmExtraEclipseCDT4Generator.cxx
  31. 8 6
      Source/cmExtraSublimeTextGenerator.cxx
  32. 1 0
      Source/cmFileCommand.cxx
  33. 0 1
      Source/cmFileTimeComparison.cxx
  34. 6 0
      Source/cmFindBase.cxx
  35. 5 0
      Source/cmFindBase.h
  36. 4 3
      Source/cmFindCommon.cxx
  37. 9 0
      Source/cmFindCommon.h
  38. 2 5
      Source/cmFunctionBlocker.h
  39. 0 1
      Source/cmFunctionCommand.cxx
  40. 3 2
      Source/cmGeneratedFileStream.cxx
  41. 4 3
      Source/cmGeneratorExpression.cxx
  42. 6 5
      Source/cmGeneratorExpressionEvaluationFile.cxx
  43. 9 4
      Source/cmGeneratorExpressionEvaluationFile.h
  44. 12 10
      Source/cmGeneratorTarget.cxx
  45. 0 1
      Source/cmGetCMakePropertyCommand.cxx
  46. 1 0
      Source/cmGlobalBorlandMakefileGenerator.cxx
  47. 11 10
      Source/cmGlobalGenerator.cxx
  48. 11 11
      Source/cmGlobalGenerator.h
  49. 3 4
      Source/cmGlobalGeneratorFactory.h
  50. 1 0
      Source/cmGlobalJOMMakefileGenerator.cxx
  51. 3 1
      Source/cmGlobalMSYSMakefileGenerator.cxx
  52. 1 0
      Source/cmGlobalMinGWMakefileGenerator.cxx
  53. 1 0
      Source/cmGlobalNMakeMakefileGenerator.cxx
  54. 15 9
      Source/cmGlobalNinjaGenerator.cxx
  55. 13 9
      Source/cmGlobalNinjaGenerator.h
  56. 6 5
      Source/cmGlobalUnixMakefileGenerator3.cxx
  57. 5 5
      Source/cmGlobalUnixMakefileGenerator3.h
  58. 0 1
      Source/cmGlobalWatcomWMakeGenerator.cxx
  59. 2 2
      Source/cmGraphAdjacencyList.h
  60. 6 5
      Source/cmGraphVizWriter.cxx
  61. 3 2
      Source/cmHexFileConverter.cxx
  62. 0 4
      Source/cmHexFileConverter.h
  63. 0 1
      Source/cmInstallCommand.cxx
  64. 2 0
      Source/cmInstallCommandArguments.cxx
  65. 3 2
      Source/cmInstallCommandArguments.h
  66. 6 7
      Source/cmInstallTargetGenerator.cxx
  67. 8 0
      Source/cmLinkItem.h
  68. 5 0
      Source/cmLinkLineComputer.cxx
  69. 4 0
      Source/cmLinkLineComputer.h
  70. 2 2
      Source/cmLinkedTree.h
  71. 3 2
      Source/cmLocalCommonGenerator.cxx
  72. 2 3
      Source/cmLocalCommonGenerator.h
  73. 2 1
      Source/cmLocalGenerator.cxx
  74. 9 10
      Source/cmLocalGenerator.h
  75. 8 7
      Source/cmLocalNinjaGenerator.cxx
  76. 5 5
      Source/cmLocalNinjaGenerator.h
  77. 10 9
      Source/cmLocalUnixMakefileGenerator3.cxx
  78. 0 2
      Source/cmLocale.h
  79. 6 0
      Source/cmMSVC60LinkLineComputer.cxx
  80. 7 0
      Source/cmMSVC60LinkLineComputer.h
  81. 0 1
      Source/cmMacroCommand.cxx
  82. 14 14
      Source/cmMakefile.cxx
  83. 10 10
      Source/cmMakefile.h
  84. 7 4
      Source/cmMakefileExecutableTargetGenerator.cxx
  85. 8 3
      Source/cmMakefileLibraryTargetGenerator.cxx
  86. 6 8
      Source/cmMakefileTargetGenerator.cxx
  87. 7 5
      Source/cmMakefileTargetGenerator.h
  88. 5 5
      Source/cmMakefileUtilityTargetGenerator.cxx
  89. 0 2
      Source/cmMessageCommand.cxx
  90. 4 0
      Source/cmNinjaLinkLineComputer.cxx
  91. 6 1
      Source/cmNinjaLinkLineComputer.h
  92. 12 9
      Source/cmNinjaNormalTargetGenerator.cxx
  93. 11 8
      Source/cmNinjaTargetGenerator.cxx
  94. 4 2
      Source/cmNinjaTypes.h
  95. 0 2
      Source/cmOptionCommand.cxx
  96. 6 5
      Source/cmOutputConverter.cxx
  97. 4 2
      Source/cmOutputConverter.h
  98. 0 1
      Source/cmParseArgumentsCommand.cxx
  99. 2 0
      Source/cmPathLabel.cxx
  100. 2 2
      Source/cmPathLabel.h

+ 1 - 0
Source/CTest/cmCTestScriptHandler.cxx

@@ -22,6 +22,7 @@
 #include "cmGlobalGenerator.h"
 #include "cmMakefile.h"
 #include "cmState.h"
+#include "cmStateDirectory.h"
 #include "cmStateTypes.h"
 #include "cmSystemTools.h"
 #include "cmake.h"

+ 2 - 0
Source/QtDialog/CMakeSetup.cxx

@@ -5,6 +5,7 @@
 #include "CMakeSetupDialog.h"
 #include "cmAlgorithms.h"
 #include "cmDocumentation.h"
+#include "cmDocumentationEntry.h"
 #include "cmVersion.h"
 #include "cmake.h"
 #include <QApplication>
@@ -17,6 +18,7 @@
 #include <cmsys/CommandLineArguments.hxx>
 #include <cmsys/Encoding.hxx>
 #include <cmsys/SystemTools.hxx>
+#include <iostream>
 
 #include "cmSystemTools.h" // IWYU pragma: keep
 

+ 11 - 3
Source/cmAlgorithms.h

@@ -3,9 +3,17 @@
 #ifndef cmAlgorithms_h
 #define cmAlgorithms_h
 
-#include <cmConfigure.h>
-
-#include "cmStandardIncludes.h"
+#include <cmConfigure.h> // IWYU pragma: keep
+
+#include <algorithm>
+#include <cm_kwiml.h>
+#include <functional>
+#include <iterator>
+#include <sstream>
+#include <string.h>
+#include <string>
+#include <utility>
+#include <vector>
 
 inline bool cmHasLiteralPrefixImpl(const std::string& str1, const char* str2,
                                    size_t N)

+ 6 - 0
Source/cmCMakeMinimumRequired.cxx

@@ -2,9 +2,15 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmCMakeMinimumRequired.h"
 
+#include <sstream>
+#include <stdio.h>
+
 #include "cmMakefile.h"
 #include "cmSystemTools.h"
 #include "cmVersion.h"
+#include "cmake.h"
+
+class cmExecutionStatus;
 
 // cmCMakeMinimumRequired
 bool cmCMakeMinimumRequired::InitialPass(std::vector<std::string> const& args,

+ 6 - 0
Source/cmCMakeMinimumRequired.h

@@ -3,8 +3,14 @@
 #ifndef cmCMakeMinimumRequired_h
 #define cmCMakeMinimumRequired_h
 
+#include <cmConfigure.h>
+#include <string>
+#include <vector>
+
 #include "cmCommand.h"
 
+class cmExecutionStatus;
+
 /** \class cmCMakeMinimumRequired
  * \brief cmake_minimum_required command
  *

+ 23 - 22
Source/cmCTest.cxx

@@ -2,6 +2,27 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmCTest.h"
 
+#include <cm_curl.h>
+#include <cm_zlib.h>
+#include <cmsys/Base64.h>
+#include <cmsys/Directory.hxx>
+#include <cmsys/FStream.hxx>
+#include <cmsys/Glob.hxx>
+#include <cmsys/Process.h>
+#include <cmsys/String.hxx>
+#include <cmsys/SystemInformation.hxx>
+#include <ctype.h>
+#include <iostream>
+#include <map>
+#include <sstream>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <string>
+#include <time.h>
+#include <utility>
+#include <vector>
+
 #include "cmAlgorithms.h"
 #include "cmCTestBuildAndTestHandler.h"
 #include "cmCTestBuildHandler.h"
@@ -21,35 +42,15 @@
 #include "cmGlobalGenerator.h"
 #include "cmMakefile.h"
 #include "cmState.h"
+#include "cmStateSnapshot.h"
 #include "cmStateTypes.h"
 #include "cmSystemTools.h"
 #include "cmVersion.h"
 #include "cmVersionConfig.h"
 #include "cmXMLWriter.h"
+#include "cm_auto_ptr.hxx"
 #include "cmake.h"
 
-#include <cm_auto_ptr.hxx>
-#include <cm_curl.h>
-#include <cm_zlib.h>
-#include <cmsys/Base64.h>
-#include <cmsys/Directory.hxx>
-#include <cmsys/FStream.hxx>
-#include <cmsys/Glob.hxx>
-#include <cmsys/Process.h>
-#include <cmsys/String.hxx>
-#include <cmsys/SystemInformation.hxx>
-#include <ctype.h>
-#include <iostream>
-#include <map>
-#include <sstream>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <string>
-#include <time.h>
-#include <utility>
-#include <vector>
-
 #if defined(__BEOS__) || defined(__HAIKU__)
 #include <be/kernel/OS.h> /* disable_debugger() API. */
 #endif

+ 6 - 5
Source/cmCacheManager.cxx

@@ -2,11 +2,6 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmCacheManager.h"
 
-#include "cmGeneratedFileStream.h"
-#include "cmSystemTools.h"
-#include "cmVersion.h"
-#include "cmake.h"
-
 #include <algorithm>
 #include <cmsys/FStream.hxx>
 #include <cmsys/Glob.hxx>
@@ -14,6 +9,12 @@
 #include <stdio.h>
 #include <string.h>
 
+#include "cmGeneratedFileStream.h"
+#include "cmState.h"
+#include "cmSystemTools.h"
+#include "cmVersion.h"
+#include "cmake.h"
+
 cmCacheManager::cmCacheManager()
 {
   this->CacheMajorVersion = 0;

+ 3 - 3
Source/cmCacheManager.h

@@ -5,9 +5,6 @@
 
 #include <cmConfigure.h> // IWYU pragma: keep
 
-#include "cmPropertyMap.h"
-#include "cmState.h"
-
 #include <iosfwd>
 #include <map>
 #include <set>
@@ -15,6 +12,9 @@
 #include <utility>
 #include <vector>
 
+#include "cmPropertyMap.h"
+#include "cmStateTypes.h"
+
 class cmake;
 
 /** \class cmCacheManager

+ 4 - 2
Source/cmCommandArgumentsHelper.h

@@ -5,10 +5,12 @@
 
 #include <cmConfigure.h>
 
-#include "cmStandardIncludes.h"
+#include <set>
+#include <string>
+#include <vector>
 
-class cmCommandArgumentsHelper;
 class cmCommandArgumentGroup;
+class cmCommandArgumentsHelper;
 
 /* cmCommandArgumentsHelper, cmCommandArgumentGroup and cmCommandArgument (i.e.
 its derived classes cmCAXXX can be used to simplify the processing of

+ 1 - 2
Source/cmCommonTargetGenerator.cxx

@@ -2,7 +2,6 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmCommonTargetGenerator.h"
 
-#include <algorithm>
 #include <cmConfigure.h>
 #include <set>
 #include <sstream>
@@ -16,8 +15,8 @@
 #include "cmLocalCommonGenerator.h"
 #include "cmLocalGenerator.h"
 #include "cmMakefile.h"
+#include "cmOutputConverter.h"
 #include "cmSourceFile.h"
-#include "cmStateDirectory.h"
 #include "cmStateTypes.h"
 
 cmCommonTargetGenerator::cmCommonTargetGenerator(cmGeneratorTarget* gt)

+ 1 - 4
Source/cmCommonTargetGenerator.h

@@ -4,19 +4,16 @@
 #define cmCommonTargetGenerator_h
 
 #include <cmConfigure.h> // IWYU pragma: keep
-
-#include "cmOutputConverter.h"
-
 #include <map>
 #include <string>
 #include <vector>
 
 class cmGeneratorTarget;
 class cmGlobalCommonGenerator;
+class cmLinkLineComputer;
 class cmLocalCommonGenerator;
 class cmMakefile;
 class cmSourceFile;
-class cmLinkLineComputer;
 
 /** \class cmCommonTargetGenerator
  * \brief Common infrastructure for Makefile and Ninja per-target generators

+ 11 - 1
Source/cmConditionEvaluator.cxx

@@ -2,12 +2,22 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmConditionEvaluator.h"
 
+#include <algorithm>
+#include <cmConfigure.h>
+#include <cmsys/RegularExpression.hxx>
+#include <sstream>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
 #include "cmAlgorithms.h"
 #include "cmMakefile.h"
-#include "cmOutputConverter.h"
 #include "cmState.h"
 #include "cmSystemTools.h"
 
+class cmCommand;
+class cmTest;
+
 static std::string const keyAND = "AND";
 static std::string const keyCOMMAND = "COMMAND";
 static std::string const keyDEFINED = "DEFINED";

+ 8 - 2
Source/cmConditionEvaluator.h

@@ -3,12 +3,18 @@
 #ifndef cmConditionEvaluator_h
 #define cmConditionEvaluator_h
 
-#include "cmCommand.h"
+#include <cmConfigure.h> // IWYU pragma: keep
+
+#include <list>
+#include <string>
+#include <vector>
+
 #include "cmExpandedCommandArgument.h"
 #include "cmListFileCache.h"
+#include "cmPolicies.h"
 #include "cmake.h"
 
-#include <list>
+class cmMakefile;
 
 class cmConditionEvaluator
 {

+ 11 - 3
Source/cmCoreTryCompile.cxx

@@ -2,16 +2,24 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmCoreTryCompile.h"
 
+#include <cmConfigure.h>
+#include <cmsys/Directory.hxx>
+#include <set>
+#include <sstream>
+#include <stdio.h>
+#include <string.h>
+
 #include "cmAlgorithms.h"
 #include "cmExportTryCompileFileGenerator.h"
 #include "cmGlobalGenerator.h"
 #include "cmMakefile.h"
 #include "cmOutputConverter.h"
+#include "cmPolicies.h"
 #include "cmState.h"
+#include "cmSystemTools.h"
+#include "cmTarget.h"
+#include "cmVersion.h"
 #include "cmake.h"
-#include <cmsys/Directory.hxx>
-
-#include <assert.h>
 
 static std::string const kCMAKE_C_COMPILER_EXTERNAL_TOOLCHAIN =
   "CMAKE_C_COMPILER_EXTERNAL_TOOLCHAIN";

+ 5 - 0
Source/cmCoreTryCompile.h

@@ -3,6 +3,11 @@
 #ifndef cmCoreTryCompile_h
 #define cmCoreTryCompile_h
 
+#include <cmConfigure.h> // IWYU pragma: keep
+
+#include <string>
+#include <vector>
+
 #include "cmCommand.h"
 #include "cmStateTypes.h"
 

+ 4 - 0
Source/cmCreateTestSourceList.cxx

@@ -2,10 +2,14 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmCreateTestSourceList.h"
 
+#include <algorithm>
+
 #include "cmMakefile.h"
 #include "cmSourceFile.h"
 #include "cmSystemTools.h"
 
+class cmExecutionStatus;
+
 // cmCreateTestSourceList
 bool cmCreateTestSourceList::InitialPass(std::vector<std::string> const& args,
                                          cmExecutionStatus&)

+ 7 - 0
Source/cmCreateTestSourceList.h

@@ -3,8 +3,15 @@
 #ifndef cmCreateTestSourceList_h
 #define cmCreateTestSourceList_h
 
+#include <cmConfigure.h>
+
+#include <string>
+#include <vector>
+
 #include "cmCommand.h"
 
+class cmExecutionStatus;
+
 /** \class cmCreateTestSourceList
  * \brief Test driver generation command
  *

+ 1 - 0
Source/cmDefinitions.cxx

@@ -3,6 +3,7 @@
 #include "cmDefinitions.h"
 
 #include <assert.h>
+#include <cmConfigure.h>
 #include <set>
 #include <utility>
 

+ 4 - 4
Source/cmDefinitions.h

@@ -3,14 +3,14 @@
 #ifndef cmDefinitions_h
 #define cmDefinitions_h
 
-#include <cmConfigure.h>
-
-#include "cmLinkedTree.h"
-#include "cm_unordered_map.hxx"
+#include <cmConfigure.h> // IWYU pragma: keep
 
 #include <string>
 #include <vector>
 
+#include "cmLinkedTree.h"
+#include "cm_unordered_map.hxx"
+
 /** \class cmDefinitions
  * \brief Store a scope of variable definitions for CMake language.
  *

+ 3 - 4
Source/cmDependsC.cxx

@@ -2,16 +2,15 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmDependsC.h"
 
+#include <cmsys/FStream.hxx>
+#include <utility>
+
 #include "cmAlgorithms.h"
 #include "cmFileTimeComparison.h"
 #include "cmLocalGenerator.h"
 #include "cmMakefile.h"
-#include "cmOutputConverter.h"
 #include "cmSystemTools.h"
 
-#include <cmsys/FStream.hxx>
-#include <utility>
-
 #define INCLUDE_REGEX_LINE                                                    \
   "^[ \t]*#[ \t]*(include|import)[ \t]*[<\"]([^\">]+)([\">])"
 

+ 9 - 8
Source/cmDependsFortran.cxx

@@ -2,14 +2,6 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmDependsFortran.h"
 
-#include "cmFortranParser.h" /* Interface to parser object.  */
-#include "cmGeneratedFileStream.h"
-#include "cmLocalGenerator.h"
-#include "cmMakefile.h"
-#include "cmOutputConverter.h"
-#include "cmStateDirectory.h"
-#include "cmSystemTools.h"
-
 #include <assert.h>
 #include <cmsys/FStream.hxx>
 #include <iostream>
@@ -18,6 +10,15 @@
 #include <string.h>
 #include <utility>
 
+#include "cmFortranParser.h" /* Interface to parser object.  */
+#include "cmGeneratedFileStream.h"
+#include "cmLocalGenerator.h"
+#include "cmMakefile.h"
+#include "cmOutputConverter.h"
+#include "cmStateDirectory.h"
+#include "cmStateSnapshot.h"
+#include "cmSystemTools.h"
+
 // TODO: Test compiler for the case of the mod file.  Some always
 // use lower case and some always use upper case.  I do not know if any
 // use the case from the source code.

+ 2 - 0
Source/cmDependsJavaParserHelper.h

@@ -8,6 +8,8 @@
 #include <string>
 #include <vector>
 
+class cmDependsJavaParserHelper;
+
 #define YYSTYPE cmDependsJavaParserHelper::ParserType
 #define YYSTYPE_IS_DECLARED
 #define YY_EXTRA_TYPE cmDependsJavaParserHelper*

+ 0 - 4
Source/cmExecutionStatus.h

@@ -3,10 +3,6 @@
 #ifndef cmExecutionStatus_h
 #define cmExecutionStatus_h
 
-#include <cmConfigure.h>
-
-#include "cmStandardIncludes.h"
-
 /** \class cmExecutionStatus
  * \brief Superclass for all command status classes
  *

+ 2 - 2
Source/cmExpandedCommandArgument.h

@@ -3,9 +3,9 @@
 #ifndef cmExpandedCommandArgument_h
 #define cmExpandedCommandArgument_h
 
-#include <cmConfigure.h>
+#include <cmConfigure.h> // IWYU pragma: keep
 
-#include "cmStandardIncludes.h"
+#include <string>
 
 /** \class cmExpandedCommandArgument
  * \brief Represents an expanded command argument

+ 13 - 5
Source/cmExportBuildAndroidMKGenerator.cxx

@@ -2,14 +2,22 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmExportBuildAndroidMKGenerator.h"
 
-#include "cmExportSet.h"
+#include <algorithm>
+#include <map>
+#include <sstream>
+#include <utility>
+
+#include "cmGeneratorExpression.h"
 #include "cmGeneratorTarget.h"
-#include "cmGlobalGenerator.h"
+#include "cmLinkItem.h"
 #include "cmLocalGenerator.h"
 #include "cmMakefile.h"
-#include "cmTargetExport.h"
-
-#include <algorithm>
+#include "cmPolicies.h"
+#include "cmStateTypes.h"
+#include "cmSystemTools.h"
+#include "cmTarget.h"
+#include "cm_auto_ptr.hxx"
+#include "cmake.h"
 
 cmExportBuildAndroidMKGenerator::cmExportBuildAndroidMKGenerator()
 {

+ 8 - 2
Source/cmExportBuildAndroidMKGenerator.h

@@ -3,10 +3,16 @@
 #ifndef cmExportBuildAndroidMKGenerator_h
 #define cmExportBuildAndroidMKGenerator_h
 
+#include <cmConfigure.h>
+
+#include <iosfwd>
+#include <string>
+#include <vector>
+
 #include "cmExportBuildFileGenerator.h"
-#include "cmListFileCache.h"
+#include "cmExportFileGenerator.h"
 
-class cmExportSet;
+class cmGeneratorTarget;
 
 /** \class cmExportBuildAndroidMKGenerator
  * \brief Generate a file exporting targets from a build tree.

+ 6 - 5
Source/cmExportInstallAndroidMKGenerator.cxx

@@ -2,16 +2,17 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmExportInstallAndroidMKGenerator.h"
 
-#include "cmAlgorithms.h"
+#include <ostream>
+#include <stddef.h>
+
 #include "cmExportBuildAndroidMKGenerator.h"
 #include "cmExportSet.h"
-#include "cmExportSetMap.h"
-#include "cmGeneratedFileStream.h"
 #include "cmGeneratorTarget.h"
-#include "cmGlobalGenerator.h"
 #include "cmInstallExportGenerator.h"
 #include "cmInstallTargetGenerator.h"
-#include "cmLocalGenerator.h"
+#include "cmStateTypes.h"
+#include "cmSystemTools.h"
+#include "cmTarget.h"
 #include "cmTargetExport.h"
 
 cmExportInstallAndroidMKGenerator::cmExportInstallAndroidMKGenerator(

+ 9 - 1
Source/cmExportInstallAndroidMKGenerator.h

@@ -3,10 +3,18 @@
 #ifndef cmExportInstallAndroidMKGenerator_h
 #define cmExportInstallAndroidMKGenerator_h
 
+#include <cmConfigure.h>
+
+#include <iosfwd>
+#include <set>
+#include <string>
+#include <vector>
+
+#include "cmExportFileGenerator.h"
 #include "cmExportInstallFileGenerator.h"
 
+class cmGeneratorTarget;
 class cmInstallExportGenerator;
-class cmInstallTargetGenerator;
 
 /** \class cmExportInstallAndroidMKGenerator
  * \brief Generate a file exporting targets from an install tree.

+ 5 - 6
Source/cmExtraCodeBlocksGenerator.cxx

@@ -2,6 +2,11 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmExtraCodeBlocksGenerator.h"
 
+#include <map>
+#include <ostream>
+#include <string.h>
+#include <utility>
+
 #include "cmAlgorithms.h"
 #include "cmGeneratedFileStream.h"
 #include "cmGeneratorTarget.h"
@@ -14,12 +19,6 @@
 #include "cmXMLWriter.h"
 #include "cmake.h"
 
-#include <algorithm>
-#include <map>
-#include <ostream>
-#include <string.h>
-#include <utility>
-
 /* Some useful URLs:
 Homepage:
 http://www.codeblocks.org

+ 8 - 9
Source/cmExtraEclipseCDT4Generator.cxx

@@ -2,13 +2,20 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmExtraEclipseCDT4Generator.h"
 
+#include <algorithm>
+#include <assert.h>
+#include <cmsys/RegularExpression.hxx>
+#include <map>
+#include <sstream>
+#include <stdio.h>
+#include <utility>
+
 #include "cmGeneratedFileStream.h"
 #include "cmGeneratorExpression.h"
 #include "cmGeneratorTarget.h"
 #include "cmGlobalGenerator.h"
 #include "cmLocalGenerator.h"
 #include "cmMakefile.h"
-#include "cmOutputConverter.h"
 #include "cmSourceFile.h"
 #include "cmSourceGroup.h"
 #include "cmState.h"
@@ -17,14 +24,6 @@
 #include "cmXMLWriter.h"
 #include "cmake.h"
 
-#include <algorithm>
-#include <assert.h>
-#include <cmsys/RegularExpression.hxx>
-#include <map>
-#include <sstream>
-#include <stdio.h>
-#include <utility>
-
 static void AppendAttribute(cmXMLWriter& xml, const char* keyval)
 {
   xml.StartElement("attribute");

+ 8 - 6
Source/cmExtraSublimeTextGenerator.cxx

@@ -2,7 +2,14 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmExtraSublimeTextGenerator.h"
 
+#include <cmsys/RegularExpression.hxx>
+#include <set>
+#include <sstream>
+#include <string.h>
+#include <utility>
+
 #include "cmGeneratedFileStream.h"
+#include "cmGeneratorExpression.h"
 #include "cmGeneratorTarget.h"
 #include "cmGlobalGenerator.h"
 #include "cmLocalGenerator.h"
@@ -10,12 +17,7 @@
 #include "cmSourceFile.h"
 #include "cmStateTypes.h"
 #include "cmSystemTools.h"
-
-#include <cmsys/RegularExpression.hxx>
-#include <ostream>
-#include <set>
-#include <string.h>
-#include <utility>
+#include "cmake.h"
 
 /*
 Sublime Text 2 Generator

+ 1 - 0
Source/cmFileCommand.cxx

@@ -20,6 +20,7 @@
 
 #undef GetCurrentDirectory
 #include <assert.h>
+#include <stdlib.h>
 
 #include <sys/types.h>
 // include sys/stat.h after sys/types.h

+ 0 - 1
Source/cmFileTimeComparison.cxx

@@ -2,7 +2,6 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmFileTimeComparison.h"
 
-#include <cmConfigure.h>
 #include <string>
 #include <time.h>
 #include <utility>

+ 6 - 0
Source/cmFindBase.cxx

@@ -2,8 +2,14 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmFindBase.h"
 
+#include <cmConfigure.h>
+#include <iostream>
+#include <map>
+#include <stddef.h>
+
 #include "cmAlgorithms.h"
 #include "cmMakefile.h"
+#include "cmSearchPath.h"
 #include "cmState.h"
 #include "cmStateTypes.h"
 #include "cmSystemTools.h"

+ 5 - 0
Source/cmFindBase.h

@@ -3,6 +3,11 @@
 #ifndef cmFindBase_h
 #define cmFindBase_h
 
+#include <cmConfigure.h> // IWYU pragma: keep
+
+#include <string>
+#include <vector>
+
 #include "cmFindCommon.h"
 
 /** \class cmFindBase

+ 4 - 3
Source/cmFindCommon.cxx

@@ -2,12 +2,13 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmFindCommon.h"
 
+#include <algorithm>
+#include <string.h>
+#include <utility>
+
 #include "cmMakefile.h"
 #include "cmSystemTools.h"
 
-#include <algorithm>
-#include <functional>
-
 cmFindCommon::PathGroup cmFindCommon::PathGroup::All("ALL");
 cmFindCommon::PathLabel cmFindCommon::PathLabel::CMake("CMAKE");
 cmFindCommon::PathLabel cmFindCommon::PathLabel::CMakeEnvironment(

+ 9 - 0
Source/cmFindCommon.h

@@ -3,10 +3,19 @@
 #ifndef cmFindCommon_h
 #define cmFindCommon_h
 
+#include <cmConfigure.h>
+
+#include <map>
+#include <set>
+#include <string>
+#include <vector>
+
 #include "cmCommand.h"
 #include "cmPathLabel.h"
 #include "cmSearchPath.h"
 
+class cmMakefile;
+
 /** \class cmFindCommon
  * \brief Base class for FIND_XXX implementations.
  *

+ 2 - 5
Source/cmFunctionBlocker.h

@@ -3,12 +3,9 @@
 #ifndef cmFunctionBlocker_h
 #define cmFunctionBlocker_h
 
-#include <cmConfigure.h>
-
-#include "cmStandardIncludes.h"
-
-#include "cmExecutionStatus.h"
 #include "cmListFileCache.h"
+
+class cmExecutionStatus;
 class cmMakefile;
 
 class cmFunctionBlocker

+ 0 - 1
Source/cmFunctionCommand.cxx

@@ -2,7 +2,6 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmFunctionCommand.h"
 
-#include <algorithm>
 #include <sstream>
 
 #include "cmAlgorithms.h"

+ 3 - 2
Source/cmGeneratedFileStream.cxx

@@ -2,11 +2,12 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmGeneratedFileStream.h"
 
-#include "cmSystemTools.h"
-
 #include <stdio.h>
 
+#include "cmSystemTools.h"
+
 #if defined(CMAKE_BUILD_WITH_CMAKE)
+#include "cm_codecvt.hxx"
 #include <cm_zlib.h>
 #endif
 

+ 4 - 3
Source/cmGeneratorExpression.cxx

@@ -2,6 +2,9 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmGeneratorExpression.h"
 
+#include <cmsys/RegularExpression.hxx>
+#include <utility>
+
 #include "assert.h"
 #include "cmAlgorithms.h"
 #include "cmGeneratorExpressionContext.h"
@@ -9,9 +12,7 @@
 #include "cmGeneratorExpressionLexer.h"
 #include "cmGeneratorExpressionParser.h"
 #include "cmSystemTools.h"
-
-#include <cmsys/RegularExpression.hxx>
-#include <utility>
+#include "cm_auto_ptr.hxx"
 
 cmGeneratorExpression::cmGeneratorExpression(
   const cmListFileBacktrace& backtrace)

+ 6 - 5
Source/cmGeneratorExpressionEvaluationFile.cxx

@@ -2,6 +2,11 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmGeneratorExpressionEvaluationFile.h"
 
+#include <cmConfigure.h>
+#include <cmsys/FStream.hxx>
+#include <sstream>
+#include <utility>
+
 #include "cmGeneratedFileStream.h"
 #include "cmGlobalGenerator.h"
 #include "cmListFileCache.h"
@@ -9,13 +14,9 @@
 #include "cmMakefile.h"
 #include "cmSourceFile.h"
 #include "cmSystemTools.h"
+#include "cm_auto_ptr.hxx"
 #include "cmake.h"
 
-#include <cmConfigure.h>
-#include <cmsys/FStream.hxx>
-#include <sstream>
-#include <utility>
-
 cmGeneratorExpressionEvaluationFile::cmGeneratorExpressionEvaluationFile(
   const std::string& input,
   CM_AUTO_PTR<cmCompiledGeneratorExpression> outputFileExpr,

+ 9 - 4
Source/cmGeneratorExpressionEvaluationFile.h

@@ -5,14 +5,19 @@
 
 #include <cmConfigure.h> // IWYU pragma: keep
 
-#include "cmGeneratorExpression.h"
-
-#include <cm_auto_ptr.hxx>
 #include <map>
 #include <string>
-#include <sys/types.h>
 #include <vector>
 
+#include "cmGeneratorExpression.h"
+#include "cm_auto_ptr.hxx"
+
+#if defined(_MSC_VER)
+typedef unsigned short mode_t;
+#else
+#include <sys/types.h>
+#endif
+
 class cmLocalGenerator;
 
 class cmGeneratorExpressionEvaluationFile

+ 12 - 10
Source/cmGeneratorTarget.cxx

@@ -2,6 +2,17 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmGeneratorTarget.h"
 
+#include <algorithm>
+#include <assert.h>
+#include <cmsys/RegularExpression.hxx>
+#include <errno.h>
+#include <iterator>
+#include <queue>
+#include <sstream>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
 #include "cmAlgorithms.h"
 #include "cmComputeLinkInformation.h"
 #include "cmCustomCommand.h"
@@ -24,16 +35,7 @@
 #include "cm_unordered_set.hxx"
 #include "cmake.h"
 
-#include <algorithm>
-#include <assert.h>
-#include <cmsys/RegularExpression.hxx>
-#include <errno.h>
-#include <iterator>
-#include <queue>
-#include <sstream>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
+class cmMessenger;
 
 template <>
 const char* cmTargetPropertyComputer::GetSources<cmGeneratorTarget>(

+ 0 - 1
Source/cmGetCMakePropertyCommand.cxx

@@ -2,7 +2,6 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmGetCMakePropertyCommand.h"
 
-#include <algorithm>
 #include <set>
 
 #include "cmAlgorithms.h"

+ 1 - 0
Source/cmGlobalBorlandMakefileGenerator.cxx

@@ -2,6 +2,7 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmGlobalBorlandMakefileGenerator.h"
 
+#include "cmDocumentationEntry.h"
 #include "cmLocalUnixMakefileGenerator3.h"
 #include "cmMakefile.h"
 #include "cmState.h"

+ 11 - 10
Source/cmGlobalGenerator.cxx

@@ -9,6 +9,16 @@
 
 #include "cmGlobalGenerator.h"
 
+#include <algorithm>
+#include <assert.h>
+#include <cmsys/Directory.hxx>
+#include <cmsys/FStream.hxx>
+#include <iterator>
+#include <sstream>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
 #include "cmAlgorithms.h"
 #include "cmCPackPropertiesGenerator.h"
 #include "cmComputeTargetDepends.h"
@@ -29,20 +39,11 @@
 #include "cmQtAutoGeneratorInitializer.h"
 #include "cmSourceFile.h"
 #include "cmState.h"
+#include "cmStateDirectory.h"
 #include "cmStateTypes.h"
 #include "cmVersion.h"
 #include "cmake.h"
 
-#include <algorithm>
-#include <assert.h>
-#include <cmsys/Directory.hxx>
-#include <cmsys/FStream.hxx>
-#include <iterator>
-#include <sstream>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
 #if defined(CMAKE_BUILD_WITH_CMAKE)
 #include <cm_jsoncpp_value.h>
 #include <cm_jsoncpp_writer.h>

+ 11 - 11
Source/cmGlobalGenerator.h

@@ -5,8 +5,15 @@
 
 #include <cmConfigure.h>
 
+#include <iosfwd>
+#include <map>
+#include <set>
+#include <string>
+#include <utility>
+#include <vector>
+
+#include "cmCustomCommandLines.h"
 #include "cmExportSetMap.h"
-#include "cmStateDirectory.h"
 #include "cmStateSnapshot.h"
 #include "cmSystemTools.h"
 #include "cmTarget.h"
@@ -14,26 +21,19 @@
 #include "cm_codecvt.hxx"
 #include "cm_unordered_map.hxx"
 
-#include <iosfwd>
-#include <map>
-#include <set>
-#include <string>
-#include <utility>
-#include <vector>
-
 #if defined(CMAKE_BUILD_WITH_CMAKE)
 #include "cmFileLockPool.h"
 #endif
 
-class cmCustomCommandLines;
-class cmSourceFile;
 class cmExportBuildFileGenerator;
 class cmExternalMakefileProjectGenerator;
 class cmGeneratorTarget;
-class cmLocalGenerator;
 class cmLinkLineComputer;
+class cmLocalGenerator;
 class cmMakefile;
 class cmOutputConverter;
+class cmSourceFile;
+class cmStateDirectory;
 class cmake;
 
 /** \class cmGlobalGenerator

+ 3 - 4
Source/cmGlobalGeneratorFactory.h

@@ -5,12 +5,11 @@
 
 #include <cmConfigure.h>
 
-#include <cmConfigure.h>
-
-#include "cmStandardIncludes.h"
+#include <string>
+#include <vector>
 
-class cmake;
 class cmGlobalGenerator;
+class cmake;
 struct cmDocumentationEntry;
 
 /** \class cmGlobalGeneratorFactory

+ 1 - 0
Source/cmGlobalJOMMakefileGenerator.cxx

@@ -2,6 +2,7 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmGlobalJOMMakefileGenerator.h"
 
+#include "cmDocumentationEntry.h"
 #include "cmLocalUnixMakefileGenerator3.h"
 #include "cmMakefile.h"
 #include "cmState.h"

+ 3 - 1
Source/cmGlobalMSYSMakefileGenerator.cxx

@@ -2,11 +2,13 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmGlobalMSYSMakefileGenerator.h"
 
+#include <cmsys/FStream.hxx>
+
+#include "cmDocumentationEntry.h"
 #include "cmLocalUnixMakefileGenerator3.h"
 #include "cmMakefile.h"
 #include "cmState.h"
 #include "cmake.h"
-#include <cmsys/FStream.hxx>
 
 cmGlobalMSYSMakefileGenerator::cmGlobalMSYSMakefileGenerator(cmake* cm)
   : cmGlobalUnixMakefileGenerator3(cm)

+ 1 - 0
Source/cmGlobalMinGWMakefileGenerator.cxx

@@ -2,6 +2,7 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmGlobalMinGWMakefileGenerator.h"
 
+#include "cmDocumentationEntry.h"
 #include "cmLocalUnixMakefileGenerator3.h"
 #include "cmMakefile.h"
 #include "cmState.h"

+ 1 - 0
Source/cmGlobalNMakeMakefileGenerator.cxx

@@ -2,6 +2,7 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmGlobalNMakeMakefileGenerator.h"
 
+#include "cmDocumentationEntry.h"
 #include "cmLocalUnixMakefileGenerator3.h"
 #include "cmMakefile.h"
 #include "cmState.h"

+ 15 - 9
Source/cmGlobalNinjaGenerator.cxx

@@ -2,6 +2,17 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmGlobalNinjaGenerator.h"
 
+#include <algorithm>
+#include <cm_jsoncpp_reader.h>
+#include <cm_jsoncpp_value.h>
+#include <cm_jsoncpp_writer.h>
+#include <cmsys/FStream.hxx>
+#include <ctype.h>
+#include <functional>
+#include <iterator>
+#include <sstream>
+#include <stdio.h>
+
 #include "cmAlgorithms.h"
 #include "cmDocumentationEntry.h"
 #include "cmFortranParser.h"
@@ -13,6 +24,9 @@
 #include "cmMakefile.h"
 #include "cmNinjaLinkLineComputer.h"
 #include "cmOutputConverter.h"
+#include "cmState.h"
+#include "cmStateDirectory.h"
+#include "cmStateSnapshot.h"
 #include "cmStateTypes.h"
 #include "cmSystemTools.h"
 #include "cmTarget.h"
@@ -21,15 +35,7 @@
 #include "cm_auto_ptr.hxx"
 #include "cmake.h"
 
-#include "cm_jsoncpp_reader.h"
-#include "cm_jsoncpp_writer.h"
-
-#include <algorithm>
-#include <ctype.h>
-#include <functional>
-#include <iterator>
-#include <sstream>
-#include <stdio.h>
+class cmLinkLineComputer;
 
 const char* cmGlobalNinjaGenerator::NINJA_BUILD_FILE = "build.ninja";
 const char* cmGlobalNinjaGenerator::NINJA_RULES_FILE = "rules.ninja";

+ 13 - 9
Source/cmGlobalNinjaGenerator.h

@@ -5,12 +5,6 @@
 
 #include <cmConfigure.h>
 
-#include "cmGlobalCommonGenerator.h"
-#include "cmGlobalGenerator.h"
-#include "cmGlobalGeneratorFactory.h"
-#include "cmNinjaTypes.h"
-#include "cmPolicies.h"
-
 #include <iosfwd>
 #include <map>
 #include <set>
@@ -18,13 +12,23 @@
 #include <utility>
 #include <vector>
 
+#include "cmGlobalCommonGenerator.h"
+#include "cmGlobalGenerator.h"
+#include "cmGlobalGeneratorFactory.h"
+#include "cmNinjaTypes.h"
+#include "cmPolicies.h"
+#include "cm_codecvt.hxx"
+
 class cmCustomCommand;
-class cmMakefile;
-class cmake;
-struct cmDocumentationEntry;
 class cmGeneratedFileStream;
 class cmGeneratorTarget;
+class cmLinkLineComputer;
 class cmLocalGenerator;
+class cmMakefile;
+class cmOutputConverter;
+class cmStateDirectory;
+class cmake;
+struct cmDocumentationEntry;
 
 /**
  * \class cmGlobalNinjaGenerator

+ 6 - 5
Source/cmGlobalUnixMakefileGenerator3.cxx

@@ -2,6 +2,11 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmGlobalUnixMakefileGenerator3.h"
 
+#include <algorithm>
+#include <functional>
+#include <sstream>
+#include <utility>
+
 #include "cmAlgorithms.h"
 #include "cmDocumentationEntry.h"
 #include "cmGeneratedFileStream.h"
@@ -14,16 +19,12 @@
 #include "cmOutputConverter.h"
 #include "cmState.h"
 #include "cmStateDirectory.h"
+#include "cmStateTypes.h"
 #include "cmSystemTools.h"
 #include "cmTarget.h"
 #include "cmTargetDepend.h"
 #include "cmake.h"
 
-#include <algorithm>
-#include <functional>
-#include <sstream>
-#include <utility>
-
 cmGlobalUnixMakefileGenerator3::cmGlobalUnixMakefileGenerator3(cmake* cm)
   : cmGlobalCommonGenerator(cm)
 {

+ 5 - 5
Source/cmGlobalUnixMakefileGenerator3.h

@@ -5,11 +5,6 @@
 
 #include <cmConfigure.h>
 
-#include "cmGeneratorTarget.h"
-#include "cmGlobalCommonGenerator.h"
-#include "cmGlobalGeneratorFactory.h"
-#include "cmStateTypes.h"
-
 #include <iosfwd>
 #include <map>
 #include <set>
@@ -17,6 +12,11 @@
 #include <string>
 #include <vector>
 
+#include "cmGeneratorTarget.h"
+#include "cmGlobalCommonGenerator.h"
+#include "cmGlobalGeneratorFactory.h"
+#include "cmStateSnapshot.h"
+
 class cmGeneratedFileStream;
 class cmLocalGenerator;
 class cmLocalUnixMakefileGenerator3;

+ 0 - 1
Source/cmGlobalWatcomWMakeGenerator.cxx

@@ -5,7 +5,6 @@
 #include "cmDocumentationEntry.h"
 #include "cmMakefile.h"
 #include "cmState.h"
-#include "cmStateTypes.h"
 #include "cmake.h"
 
 cmGlobalWatcomWMakeGenerator::cmGlobalWatcomWMakeGenerator(cmake* cm)

+ 2 - 2
Source/cmGraphAdjacencyList.h

@@ -3,9 +3,9 @@
 #ifndef cmGraphAdjacencyList_h
 #define cmGraphAdjacencyList_h
 
-#include <cmConfigure.h>
+#include <cmConfigure.h> // IWYU pragma: keep
 
-#include "cmStandardIncludes.h"
+#include <vector>
 
 /**
  * Graph edge representation.  Most use cases just need the

+ 6 - 5
Source/cmGraphVizWriter.cxx

@@ -2,21 +2,22 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmGraphVizWriter.h"
 
+#include <cmConfigure.h>
+#include <iostream>
+#include <sstream>
+#include <utility>
+
 #include "cmGeneratedFileStream.h"
 #include "cmGeneratorTarget.h"
 #include "cmGlobalGenerator.h"
 #include "cmLocalGenerator.h"
 #include "cmMakefile.h"
+#include "cmStateSnapshot.h"
 #include "cmSystemTools.h"
 #include "cmTarget.h"
 #include "cm_auto_ptr.hxx"
 #include "cmake.h"
 
-#include <cmConfigure.h>
-#include <iostream>
-#include <sstream>
-#include <utility>
-
 static const char* getShapeForTarget(const cmGeneratorTarget* target)
 {
   if (!target) {

+ 3 - 2
Source/cmHexFileConverter.cxx

@@ -2,11 +2,12 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmHexFileConverter.h"
 
-#include "cmSystemTools.h"
-
+#include <cmConfigure.h>
 #include <stdio.h>
 #include <string.h>
 
+#include "cmSystemTools.h"
+
 #define INTEL_HEX_MIN_LINE_LENGTH (1 + 8 + 2)
 #define INTEL_HEX_MAX_LINE_LENGTH (1 + 8 + (256 * 2) + 2)
 #define MOTOROLA_SREC_MIN_LINE_LENGTH (2 + 2 + 4 + 2)

+ 0 - 4
Source/cmHexFileConverter.h

@@ -3,10 +3,6 @@
 #ifndef cmHexFileConverter_h
 #define cmHexFileConverter_h
 
-#include <cmConfigure.h>
-
-#include "cmStandardIncludes.h"
-
 /** \class cmHexFileConverter
  * \brief Can detects Intel Hex and Motorola S-record files and convert them
  *        to binary files.

+ 0 - 1
Source/cmInstallCommand.cxx

@@ -2,7 +2,6 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmInstallCommand.h"
 
-#include <algorithm>
 #include <cmsys/Glob.hxx>
 #include <sstream>
 #include <stddef.h>

+ 2 - 0
Source/cmInstallCommandArguments.cxx

@@ -2,6 +2,8 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmInstallCommandArguments.h"
 
+#include <cmConfigure.h>
+
 #include "cmSystemTools.h"
 
 // Table of valid permissions.

+ 3 - 2
Source/cmInstallCommandArguments.h

@@ -3,9 +3,10 @@
 #ifndef cmInstallCommandArguments_h
 #define cmInstallCommandArguments_h
 
-#include <cmConfigure.h>
+#include <cmConfigure.h> // IWYU pragma: keep
 
-#include "cmStandardIncludes.h"
+#include <string>
+#include <vector>
 
 #include "cmCommandArgumentsHelper.h"
 

+ 6 - 7
Source/cmInstallTargetGenerator.cxx

@@ -2,6 +2,12 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmInstallTargetGenerator.h"
 
+#include <assert.h>
+#include <map>
+#include <set>
+#include <sstream>
+#include <utility>
+
 #include "cmComputeLinkInformation.h"
 #include "cmGeneratorExpression.h"
 #include "cmGeneratorTarget.h"
@@ -12,15 +18,8 @@
 #include "cmStateTypes.h"
 #include "cmSystemTools.h"
 #include "cmTarget.h"
-#include "cm_auto_ptr.hxx"
 #include "cmake.h"
 
-#include <assert.h>
-#include <map>
-#include <set>
-#include <sstream>
-#include <utility>
-
 cmInstallTargetGenerator::cmInstallTargetGenerator(
   const std::string& targetName, const char* dest, bool implib,
   const char* file_permissions, std::vector<std::string> const& configurations,

+ 8 - 0
Source/cmLinkItem.h

@@ -3,8 +3,16 @@
 #ifndef cmLinkItem_h
 #define cmLinkItem_h
 
+#include <cmConfigure.h>
+
+#include <algorithm>
+#include <map>
+#include <string>
+#include <vector>
+
 #include "cmListFileCache.h"
 #include "cmSystemTools.h"
+#include "cmTargetLinkLibraryType.h"
 
 class cmGeneratorTarget;
 

+ 5 - 0
Source/cmLinkLineComputer.cxx

@@ -2,10 +2,15 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 
 #include "cmLinkLineComputer.h"
+
+#include <sstream>
+#include <vector>
+
 #include "cmComputeLinkInformation.h"
 #include "cmGeneratorTarget.h"
 #include "cmOutputConverter.h"
 #include "cmStateDirectory.h"
+#include "cmStateTypes.h"
 
 cmLinkLineComputer::cmLinkLineComputer(cmOutputConverter* outputConverter,
                                        cmStateDirectory stateDir)

+ 4 - 0
Source/cmLinkLineComputer.h

@@ -4,6 +4,10 @@
 #ifndef cmLinkLineComputer_h
 #define cmLinkLineComputer_h
 
+#include <cmConfigure.h> // IWYU pragma: keep
+
+#include <string>
+
 #include "cmStateDirectory.h"
 
 class cmComputeLinkInformation;

+ 2 - 2
Source/cmLinkedTree.h

@@ -5,9 +5,9 @@
 
 #include <cmConfigure.h>
 
-#include "cmStandardIncludes.h"
-
 #include <assert.h>
+#include <iterator>
+#include <vector>
 
 /**
   @brief A adaptor for traversing a tree structure in a vector

+ 3 - 2
Source/cmLocalCommonGenerator.cxx

@@ -2,10 +2,11 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmLocalCommonGenerator.h"
 
+#include <vector>
+
 #include "cmGeneratorTarget.h"
 #include "cmMakefile.h"
-
-#include <vector>
+#include "cmOutputConverter.h"
 
 class cmGlobalGenerator;
 

+ 2 - 3
Source/cmLocalCommonGenerator.h

@@ -5,11 +5,10 @@
 
 #include <cmConfigure.h>
 
-#include "cmLocalGenerator.h"
-#include "cmOutputConverter.h"
-
 #include <string>
 
+#include "cmLocalGenerator.h"
+
 class cmGeneratorTarget;
 class cmGlobalGenerator;
 class cmMakefile;

+ 2 - 1
Source/cmLocalGenerator.cxx

@@ -18,6 +18,7 @@
 #include "cmSourceFile.h"
 #include "cmState.h"
 #include "cmStateDirectory.h"
+#include "cmStateTypes.h"
 #include "cmSystemTools.h"
 #include "cmTarget.h"
 #include "cmTestGenerator.h"
@@ -32,10 +33,10 @@
 #include <algorithm>
 #include <assert.h>
 #include <cmsys/RegularExpression.hxx>
-#include <ctype.h>
 #include <iterator>
 #include <sstream>
 #include <stdio.h>
+#include <string.h>
 #include <utility>
 
 #if defined(__HAIKU__)

+ 9 - 10
Source/cmLocalGenerator.h

@@ -5,29 +5,28 @@
 
 #include <cmConfigure.h>
 
-#include "cmListFileCache.h"
-#include "cmOutputConverter.h"
-#include "cmPolicies.h"
-#include "cmRulePlaceholderExpander.h"
-#include "cmStateTypes.h"
-#include "cmake.h"
-
 #include <cm_kwiml.h>
 #include <iosfwd>
 #include <map>
 #include <set>
-#include <string.h>
 #include <string>
 #include <vector>
 
+#include "cmListFileCache.h"
+#include "cmOutputConverter.h"
+#include "cmPolicies.h"
+#include "cmStateSnapshot.h"
+#include "cmake.h"
+
 class cmComputeLinkInformation;
 class cmCustomCommandGenerator;
 class cmGeneratorTarget;
 class cmGlobalGenerator;
-class cmRulePlaceholderExpander;
+class cmLinkLineComputer;
 class cmMakefile;
+class cmRulePlaceholderExpander;
 class cmSourceFile;
-class cmLinkLineComputer;
+class cmState;
 
 /** \class cmLocalGenerator
  * \brief Create required build files for a directory.

+ 8 - 7
Source/cmLocalNinjaGenerator.cxx

@@ -2,6 +2,13 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmLocalNinjaGenerator.h"
 
+#include <algorithm>
+#include <assert.h>
+#include <iterator>
+#include <sstream>
+#include <stdio.h>
+#include <utility>
+
 #include "cmCustomCommand.h"
 #include "cmCustomCommandGenerator.h"
 #include "cmGeneratedFileStream.h"
@@ -15,15 +22,9 @@
 #include "cmState.h"
 #include "cmStateTypes.h"
 #include "cmSystemTools.h"
+#include "cm_auto_ptr.hxx"
 #include "cmake.h"
 
-#include <algorithm>
-#include <assert.h>
-#include <iterator>
-#include <sstream>
-#include <stdio.h>
-#include <utility>
-
 cmLocalNinjaGenerator::cmLocalNinjaGenerator(cmGlobalGenerator* gg,
                                              cmMakefile* mf)
   : cmLocalCommonGenerator(gg, mf, mf->GetState()->GetBinaryDirectory())

+ 5 - 5
Source/cmLocalNinjaGenerator.h

@@ -5,17 +5,16 @@
 
 #include <cmConfigure.h>
 
-#include "cmLocalCommonGenerator.h"
-#include "cmLocalGenerator.h"
-#include "cmNinjaTypes.h"
-#include "cmOutputConverter.h"
-
 #include <iosfwd>
 #include <map>
 #include <set>
 #include <string>
 #include <vector>
 
+#include "cmLocalCommonGenerator.h"
+#include "cmNinjaTypes.h"
+#include "cmOutputConverter.h"
+
 class cmCustomCommand;
 class cmCustomCommandGenerator;
 class cmGeneratedFileStream;
@@ -23,6 +22,7 @@ class cmGeneratorTarget;
 class cmGlobalGenerator;
 class cmGlobalNinjaGenerator;
 class cmMakefile;
+class cmRulePlaceholderExpander;
 class cmSourceFile;
 class cmake;
 

+ 10 - 9
Source/cmLocalUnixMakefileGenerator3.cxx

@@ -2,6 +2,14 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmLocalUnixMakefileGenerator3.h"
 
+#include <algorithm>
+#include <cmsys/FStream.hxx>
+#include <cmsys/Terminal.h>
+#include <functional>
+#include <sstream>
+#include <stdio.h>
+#include <utility>
+
 #include "cmAlgorithms.h"
 #include "cmCustomCommand.h"
 #include "cmCustomCommandGenerator.h"
@@ -18,9 +26,11 @@
 #include "cmSourceFile.h"
 #include "cmState.h"
 #include "cmStateDirectory.h"
+#include "cmStateSnapshot.h"
 #include "cmStateTypes.h"
 #include "cmSystemTools.h"
 #include "cmVersion.h"
+#include "cm_auto_ptr.hxx"
 #include "cmake.h"
 
 // Include dependency scanners for supported languages.  Only the
@@ -31,15 +41,6 @@
 #include "cmDependsJava.h"
 #endif
 
-#include <algorithm>
-#include <cm_auto_ptr.hxx>
-#include <cmsys/FStream.hxx>
-#include <cmsys/Terminal.h>
-#include <functional>
-#include <sstream>
-#include <stdio.h>
-#include <utility>
-
 // Escape special characters in Makefile dependency lines
 class cmMakeSafe
 {

+ 0 - 2
Source/cmLocale.h

@@ -5,8 +5,6 @@
 
 #include <cmConfigure.h>
 
-#include "cmStandardIncludes.h"
-
 #include <locale.h>
 
 class cmLocaleRAII

+ 6 - 0
Source/cmMSVC60LinkLineComputer.cxx

@@ -3,7 +3,13 @@
 
 #include "cmMSVC60LinkLineComputer.h"
 
+#include "cmStateDirectory.h"
+
+#if defined(_WIN32) && !defined(__CYGWIN__)
 #include "cmSystemTools.h"
+#endif
+
+class cmOutputConverter;
 
 cmMSVC60LinkLineComputer::cmMSVC60LinkLineComputer(
   cmOutputConverter* outputConverter, cmStateDirectory stateDir)

+ 7 - 0
Source/cmMSVC60LinkLineComputer.h

@@ -4,8 +4,15 @@
 #ifndef cmMSVC60LinkLineComputer_h
 #define cmMSVC60LinkLineComputer_h
 
+#include <cmConfigure.h>
+
+#include <string>
+
 #include "cmLinkLineComputer.h"
 
+class cmOutputConverter;
+class cmStateDirectory;
+
 class cmMSVC60LinkLineComputer : public cmLinkLineComputer
 {
 public:

+ 0 - 1
Source/cmMacroCommand.cxx

@@ -2,7 +2,6 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmMacroCommand.h"
 
-#include <algorithm>
 #include <sstream>
 #include <stdio.h>
 

+ 14 - 14
Source/cmMakefile.cxx

@@ -2,6 +2,16 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmMakefile.h"
 
+#include <algorithm>
+#include <assert.h>
+#include <cmsys/FStream.hxx>
+#include <cmsys/RegularExpression.hxx>
+#include <ctype.h>
+#include <sstream>
+#include <stdlib.h>
+#include <string.h>
+#include <utility>
+
 #include "cmAlgorithms.h"
 #include "cmCommand.h"
 #include "cmCommandArgumentParserHelper.h"
@@ -14,6 +24,7 @@
 #include "cmGeneratorExpression.h"
 #include "cmGeneratorExpressionEvaluationFile.h"
 #include "cmGlobalGenerator.h"
+#include "cmInstallGenerator.h" // IWYU pragma: keep
 #include "cmListFileCache.h"
 #include "cmSourceFile.h"
 #include "cmSourceFileLocation.h"
@@ -21,28 +32,17 @@
 #include "cmStateDirectory.h"
 #include "cmStateTypes.h"
 #include "cmSystemTools.h"
+#include "cmTargetLinkLibraryType.h"
 #include "cmTest.h"
+#include "cmTestGenerator.h" // IWYU pragma: keep
 #include "cmVersion.h"
+#include "cm_auto_ptr.hxx"
 #include "cmake.h"
 
-#include "cmInstallGenerator.h" // IWYU pragma: keep
-#include "cmTestGenerator.h"    // IWYU pragma: keep
-
 #ifdef CMAKE_BUILD_WITH_CMAKE
 #include "cmVariableWatch.h"
 #endif
 
-#include <algorithm>
-#include <assert.h>
-#include <cm_auto_ptr.hxx>
-#include <cmsys/FStream.hxx>
-#include <cmsys/RegularExpression.hxx>
-#include <ctype.h>
-#include <sstream>
-#include <stdlib.h>
-#include <string.h>
-#include <utility>
-
 class cmMessenger;
 
 // default is not to be building executables

+ 10 - 10
Source/cmMakefile.h

@@ -5,13 +5,21 @@
 
 #include <cmConfigure.h>
 
+#include <cmsys/RegularExpression.hxx>
+#include <map>
+#include <set>
+#include <stack>
+#include <string>
+#include <vector>
+
 #include "cmAlgorithms.h"
 #include "cmListFileCache.h"
 #include "cmNewLineStyle.h"
 #include "cmPolicies.h"
 #include "cmStateSnapshot.h"
+#include "cmStateTypes.h"
 #include "cmTarget.h"
-#include "cmTargetLinkLibraryType.h"
+#include "cm_auto_ptr.hxx"
 #include "cm_unordered_map.hxx"
 #include "cmake.h"
 
@@ -19,15 +27,6 @@
 #include "cmSourceGroup.h"
 #endif
 
-#include <cm_auto_ptr.hxx>
-#include <cmsys/RegularExpression.hxx>
-
-#include <map>
-#include <set>
-#include <stack>
-#include <string>
-#include <vector>
-
 class cmCommand;
 class cmCompiledGeneratorExpression;
 class cmCustomCommandLines;
@@ -40,6 +39,7 @@ class cmGlobalGenerator;
 class cmInstallGenerator;
 class cmMessenger;
 class cmSourceFile;
+class cmState;
 class cmTest;
 class cmTestGenerator;
 class cmVariableWatch;

+ 7 - 4
Source/cmMakefileExecutableTargetGenerator.cxx

@@ -2,6 +2,10 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmMakefileExecutableTargetGenerator.h"
 
+#include <sstream>
+#include <string>
+#include <vector>
+
 #include "cmGeneratedFileStream.h"
 #include "cmGeneratorTarget.h"
 #include "cmGlobalUnixMakefileGenerator3.h"
@@ -13,13 +17,12 @@
 #include "cmOutputConverter.h"
 #include "cmRulePlaceholderExpander.h"
 #include "cmState.h"
+#include "cmStateDirectory.h"
+#include "cmStateSnapshot.h"
 #include "cmSystemTools.h"
+#include "cm_auto_ptr.hxx"
 #include "cmake.h"
 
-#include <sstream>
-#include <string>
-#include <vector>
-
 cmMakefileExecutableTargetGenerator::cmMakefileExecutableTargetGenerator(
   cmGeneratorTarget* target)
   : cmMakefileTargetGenerator(target)

+ 8 - 3
Source/cmMakefileLibraryTargetGenerator.cxx

@@ -2,6 +2,11 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmMakefileLibraryTargetGenerator.h"
 
+#include <cmConfigure.h> // IWYU pragma: keep
+
+#include <sstream>
+#include <vector>
+
 #include "cmGeneratedFileStream.h"
 #include "cmGeneratorTarget.h"
 #include "cmGlobalUnixMakefileGenerator3.h"
@@ -13,13 +18,13 @@
 #include "cmOutputConverter.h"
 #include "cmRulePlaceholderExpander.h"
 #include "cmState.h"
+#include "cmStateDirectory.h"
+#include "cmStateSnapshot.h"
 #include "cmStateTypes.h"
 #include "cmSystemTools.h"
+#include "cm_auto_ptr.hxx"
 #include "cmake.h"
 
-#include <sstream>
-#include <vector>
-
 cmMakefileLibraryTargetGenerator::cmMakefileLibraryTargetGenerator(
   cmGeneratorTarget* target)
   : cmMakefileTargetGenerator(target)

+ 6 - 8
Source/cmMakefileTargetGenerator.cxx

@@ -2,6 +2,10 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmMakefileTargetGenerator.h"
 
+#include <sstream>
+#include <stdio.h>
+#include <utility>
+
 #include "cmAlgorithms.h"
 #include "cmComputeLinkInformation.h"
 #include "cmCustomCommand.h"
@@ -10,8 +14,6 @@
 #include "cmGeneratorExpression.h"
 #include "cmGeneratorTarget.h"
 #include "cmGlobalUnixMakefileGenerator3.h"
-#include "cmLinkLineComputer.h"
-#include "cmLocalGenerator.h"
 #include "cmLocalUnixMakefileGenerator3.h"
 #include "cmMakefile.h"
 #include "cmMakefileExecutableTargetGenerator.h"
@@ -21,17 +23,13 @@
 #include "cmRulePlaceholderExpander.h"
 #include "cmSourceFile.h"
 #include "cmState.h"
+#include "cmStateDirectory.h"
+#include "cmStateSnapshot.h"
 #include "cmStateTypes.h"
 #include "cmSystemTools.h"
 #include "cm_auto_ptr.hxx"
 #include "cmake.h"
 
-#include <algorithm>
-#include <ctype.h>
-#include <sstream>
-#include <stdio.h>
-#include <utility>
-
 #ifndef _WIN32
 #include <unistd.h>
 #endif

+ 7 - 5
Source/cmMakefileTargetGenerator.h

@@ -5,22 +5,24 @@
 
 #include <cmConfigure.h>
 
-#include "cmCommonTargetGenerator.h"
-#include "cmLocalUnixMakefileGenerator3.h"
-#include "cmOSXBundleGenerator.h"
-
 #include <iosfwd>
 #include <map>
 #include <set>
 #include <string>
 #include <vector>
 
+#include "cmCommonTargetGenerator.h"
+#include "cmLocalUnixMakefileGenerator3.h"
+#include "cmOSXBundleGenerator.h"
+
 class cmCustomCommandGenerator;
 class cmGeneratedFileStream;
 class cmGeneratorTarget;
 class cmGlobalUnixMakefileGenerator3;
-class cmSourceFile;
 class cmLinkLineComputer;
+class cmOutputConverter;
+class cmSourceFile;
+class cmStateDirectory;
 
 /** \class cmMakefileTargetGenerator
  * \brief Support Routines for writing makefiles

+ 5 - 5
Source/cmMakefileUtilityTargetGenerator.cxx

@@ -2,17 +2,17 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmMakefileUtilityTargetGenerator.h"
 
+#include <ostream>
+#include <string>
+#include <vector>
+
 #include "cmGeneratedFileStream.h"
 #include "cmGeneratorTarget.h"
 #include "cmGlobalUnixMakefileGenerator3.h"
 #include "cmLocalUnixMakefileGenerator3.h"
 #include "cmMakefile.h"
 #include "cmOSXBundleGenerator.h"
-#include "cmOutputConverter.h"
-
-#include <ostream>
-#include <string>
-#include <vector>
+#include "cmSystemTools.h"
 
 cmMakefileUtilityTargetGenerator::cmMakefileUtilityTargetGenerator(
   cmGeneratorTarget* target)

+ 0 - 2
Source/cmMessageCommand.cxx

@@ -2,8 +2,6 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmMessageCommand.h"
 
-#include <algorithm>
-
 #include "cmAlgorithms.h"
 #include "cmMakefile.h"
 #include "cmMessenger.h"

+ 4 - 0
Source/cmNinjaLinkLineComputer.cxx

@@ -2,7 +2,11 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 
 #include "cmNinjaLinkLineComputer.h"
+
 #include "cmGlobalNinjaGenerator.h"
+#include "cmStateDirectory.h"
+
+class cmOutputConverter;
 
 cmNinjaLinkLineComputer::cmNinjaLinkLineComputer(
   cmOutputConverter* outputConverter, cmStateDirectory stateDir,

+ 6 - 1
Source/cmNinjaLinkLineComputer.h

@@ -4,10 +4,15 @@
 #ifndef cmNinjaLinkLineComputer_h
 #define cmNinjaLinkLineComputer_h
 
+#include <cmConfigure.h>
+
+#include <string>
+
 #include "cmLinkLineComputer.h"
-#include "cmState.h"
 
 class cmGlobalNinjaGenerator;
+class cmOutputConverter;
+class cmStateDirectory;
 
 class cmNinjaLinkLineComputer : public cmLinkLineComputer
 {

+ 12 - 9
Source/cmNinjaNormalTargetGenerator.cxx

@@ -2,6 +2,15 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmNinjaNormalTargetGenerator.h"
 
+#include <algorithm>
+#include <assert.h>
+#include <iterator>
+#include <limits>
+#include <map>
+#include <set>
+#include <sstream>
+#include <stddef.h>
+
 #include "cmAlgorithms.h"
 #include "cmCustomCommand.h"
 #include "cmCustomCommandGenerator.h"
@@ -18,19 +27,13 @@
 #include "cmRulePlaceholderExpander.h"
 #include "cmSourceFile.h"
 #include "cmState.h"
+#include "cmStateDirectory.h"
+#include "cmStateSnapshot.h"
 #include "cmStateTypes.h"
 #include "cmSystemTools.h"
+#include "cm_auto_ptr.hxx"
 #include "cmake.h"
 
-#include <algorithm>
-#include <assert.h>
-#include <iterator>
-#include <limits>
-#include <map>
-#include <set>
-#include <sstream>
-#include <stddef.h>
-
 #ifndef _WIN32
 #include <unistd.h>
 #endif

+ 11 - 8
Source/cmNinjaTargetGenerator.cxx

@@ -2,10 +2,20 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmNinjaTargetGenerator.h"
 
+#include <algorithm>
+#include <assert.h>
+#include <cm_jsoncpp_value.h>
+#include <cm_jsoncpp_writer.h>
+#include <iterator>
+#include <map>
+#include <sstream>
+#include <string.h>
+
 #include "cmAlgorithms.h"
 #include "cmComputeLinkInformation.h"
 #include "cmCustomCommandGenerator.h"
 #include "cmGeneratedFileStream.h"
+#include "cmGeneratorExpression.h"
 #include "cmGeneratorTarget.h"
 #include "cmGlobalNinjaGenerator.h"
 #include "cmLocalGenerator.h"
@@ -19,16 +29,9 @@
 #include "cmState.h"
 #include "cmStateTypes.h"
 #include "cmSystemTools.h"
+#include "cm_auto_ptr.hxx"
 #include "cmake.h"
 
-#include "cm_jsoncpp_writer.h"
-
-#include <algorithm>
-#include <iterator>
-#include <map>
-#include <sstream>
-#include <string.h>
-
 cmNinjaTargetGenerator* cmNinjaTargetGenerator::New(cmGeneratorTarget* target)
 {
   switch (target->GetType()) {

+ 4 - 2
Source/cmNinjaTypes.h

@@ -3,9 +3,11 @@
 #ifndef cmNinjaTypes_h
 #define cmNinjaTypes_h
 
-#include <cmConfigure.h>
+#include <cmConfigure.h> // IWYU pragma: keep
 
-#include "cmStandardIncludes.h"
+#include <map>
+#include <string>
+#include <vector>
 
 typedef std::vector<std::string> cmNinjaDeps;
 typedef std::map<std::string, std::string> cmNinjaVars;

+ 0 - 2
Source/cmOptionCommand.cxx

@@ -2,8 +2,6 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmOptionCommand.h"
 
-#include <algorithm>
-
 #include "cmAlgorithms.h"
 #include "cmMakefile.h"
 #include "cmState.h"

+ 6 - 5
Source/cmOutputConverter.cxx

@@ -2,16 +2,17 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmOutputConverter.h"
 
-#include "cmAlgorithms.h"
-#include "cmState.h"
-#include "cmStateDirectory.h"
-#include "cmSystemTools.h"
-
 #include <algorithm>
 #include <assert.h>
 #include <ctype.h>
 #include <set>
 #include <sstream>
+#include <vector>
+
+#include "cmAlgorithms.h"
+#include "cmState.h"
+#include "cmStateDirectory.h"
+#include "cmSystemTools.h"
 
 cmOutputConverter::cmOutputConverter(cmStateSnapshot snapshot)
   : StateSnapshot(snapshot)

+ 4 - 2
Source/cmOutputConverter.h

@@ -5,10 +5,12 @@
 
 #include <cmConfigure.h> // IWYU pragma: keep
 
+#include <string>
+
 #include "cmStateSnapshot.h"
 
-#include <string>
-#include <vector>
+class cmState;
+class cmStateDirectory;
 
 class cmOutputConverter
 {

+ 0 - 1
Source/cmParseArgumentsCommand.cxx

@@ -2,7 +2,6 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmParseArgumentsCommand.h"
 
-#include <algorithm>
 #include <map>
 #include <set>
 #include <sstream>

+ 2 - 0
Source/cmPathLabel.cxx

@@ -2,6 +2,8 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmPathLabel.h"
 
+#include <stddef.h>
+
 cmPathLabel::cmPathLabel(const std::string& label)
   : Label(label)
   , Hash(0)

+ 2 - 2
Source/cmPathLabel.h

@@ -3,9 +3,9 @@
 #ifndef cmPathLabel_h
 #define cmPathLabel_h
 
-#include <cmConfigure.h>
+#include <cmConfigure.h> // IWYU pragma: keep
 
-#include "cmStandardIncludes.h"
+#include <string>
 
 /** \class cmPathLabel
  * \brief Helper class for text based labels

Некоторые файлы не были показаны из-за большого количества измененных файлов