浏览代码

Source: Fix possible IWYU warnings in Windows generators

NAKAMURA Takumi 3 年之前
父节点
当前提交
0e58a5ea07
共有 43 个文件被更改,包括 315 次插入53 次删除
  1. 3 1
      Source/cmGlobalBorlandMakefileGenerator.cxx
  2. 9 1
      Source/cmGlobalBorlandMakefileGenerator.h
  3. 5 1
      Source/cmGlobalJOMMakefileGenerator.cxx
  4. 8 0
      Source/cmGlobalJOMMakefileGenerator.h
  5. 2 2
      Source/cmGlobalMSYSMakefileGenerator.cxx
  6. 7 0
      Source/cmGlobalMSYSMakefileGenerator.h
  7. 1 1
      Source/cmGlobalMinGWMakefileGenerator.cxx
  8. 7 0
      Source/cmGlobalMinGWMakefileGenerator.h
  9. 8 1
      Source/cmGlobalNMakeMakefileGenerator.cxx
  10. 10 0
      Source/cmGlobalNMakeMakefileGenerator.h
  11. 12 1
      Source/cmGlobalVisualStudio10Generator.cxx
  12. 11 0
      Source/cmGlobalVisualStudio10Generator.h
  13. 9 2
      Source/cmGlobalVisualStudio11Generator.cxx
  14. 3 2
      Source/cmGlobalVisualStudio11Generator.h
  15. 10 2
      Source/cmGlobalVisualStudio12Generator.cxx
  16. 0 1
      Source/cmGlobalVisualStudio12Generator.h
  17. 10 1
      Source/cmGlobalVisualStudio14Generator.cxx
  18. 0 1
      Source/cmGlobalVisualStudio14Generator.h
  19. 11 3
      Source/cmGlobalVisualStudio71Generator.cxx
  20. 13 0
      Source/cmGlobalVisualStudio71Generator.h
  21. 10 3
      Source/cmGlobalVisualStudio7Generator.cxx
  22. 14 2
      Source/cmGlobalVisualStudio7Generator.h
  23. 22 3
      Source/cmGlobalVisualStudio8Generator.cxx
  24. 10 0
      Source/cmGlobalVisualStudio8Generator.h
  25. 8 3
      Source/cmGlobalVisualStudio9Generator.cxx
  26. 4 0
      Source/cmGlobalVisualStudio9Generator.h
  27. 10 3
      Source/cmGlobalVisualStudioGenerator.cxx
  28. 3 0
      Source/cmGlobalVisualStudioGenerator.h
  29. 11 2
      Source/cmGlobalVisualStudioVersionedGenerator.cxx
  30. 3 1
      Source/cmGlobalVisualStudioVersionedGenerator.h
  31. 2 1
      Source/cmIDEOptions.cxx
  32. 6 5
      Source/cmLocalVisualStudio10Generator.cxx
  33. 1 0
      Source/cmLocalVisualStudio10Generator.h
  34. 19 2
      Source/cmLocalVisualStudio7Generator.cxx
  35. 2 0
      Source/cmLocalVisualStudio7Generator.h
  36. 6 0
      Source/cmLocalVisualStudioGenerator.cxx
  37. 24 1
      Source/cmVisualStudio10TargetGenerator.cxx
  38. 2 2
      Source/cmVisualStudio10TargetGenerator.h
  39. 8 2
      Source/cmVisualStudioGeneratorOptions.cxx
  40. 0 1
      Source/cmVisualStudioGeneratorOptions.h
  41. 3 0
      Source/cmVisualStudioSlnData.cxx
  42. 3 1
      Source/cmVisualStudioSlnParser.cxx
  43. 5 1
      Source/cmVisualStudioWCEPlatformParser.cxx

+ 3 - 1
Source/cmGlobalBorlandMakefileGenerator.cxx

@@ -2,14 +2,16 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmGlobalBorlandMakefileGenerator.h"
 
+#include <ostream>
 #include <utility>
 
 #include <cm/memory>
 
 #include "cmDocumentationEntry.h"
+#include "cmGlobalGenerator.h"
+#include "cmLocalGenerator.h"
 #include "cmLocalUnixMakefileGenerator3.h"
 #include "cmMakefile.h"
-#include "cmMessageType.h"
 #include "cmState.h"
 #include "cmake.h"
 

+ 9 - 1
Source/cmGlobalBorlandMakefileGenerator.h

@@ -4,8 +4,16 @@
 
 #include <iosfwd>
 #include <memory>
+#include <string>
+#include <vector>
 
-#include "cmGlobalNMakeMakefileGenerator.h"
+#include "cmGlobalGeneratorFactory.h"
+#include "cmGlobalUnixMakefileGenerator3.h"
+
+class cmLocalGenerator;
+class cmMakefile;
+class cmake;
+struct cmDocumentationEntry;
 
 /** \class cmGlobalBorlandMakefileGenerator
  * \brief Write a Borland makefiles.

+ 5 - 1
Source/cmGlobalJOMMakefileGenerator.cxx

@@ -2,8 +2,12 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmGlobalJOMMakefileGenerator.h"
 
+#include <ostream>
+
+#include <cmext/algorithm>
+
 #include "cmDocumentationEntry.h"
-#include "cmLocalUnixMakefileGenerator3.h"
+#include "cmGlobalGenerator.h"
 #include "cmMakefile.h"
 #include "cmState.h"
 #include "cmake.h"

+ 8 - 0
Source/cmGlobalJOMMakefileGenerator.h

@@ -4,8 +4,16 @@
 
 #include <iosfwd>
 #include <memory>
+#include <string>
+#include <vector>
 
+#include "cmGlobalGeneratorFactory.h"
 #include "cmGlobalUnixMakefileGenerator3.h"
+#include "cmValue.h"
+
+class cmMakefile;
+class cmake;
+struct cmDocumentationEntry;
 
 /** \class cmGlobalJOMMakefileGenerator
  * \brief Write a JOM makefiles.

+ 2 - 2
Source/cmGlobalMSYSMakefileGenerator.cxx

@@ -5,10 +5,10 @@
 #include "cmsys/FStream.hxx"
 
 #include "cmDocumentationEntry.h"
-#include "cmLocalUnixMakefileGenerator3.h"
 #include "cmMakefile.h"
-#include "cmMessageType.h"
 #include "cmState.h"
+#include "cmStringAlgorithms.h"
+#include "cmSystemTools.h"
 #include "cmake.h"
 
 cmGlobalMSYSMakefileGenerator::cmGlobalMSYSMakefileGenerator(cmake* cm)

+ 7 - 0
Source/cmGlobalMSYSMakefileGenerator.h

@@ -3,9 +3,16 @@
 #pragma once
 
 #include <memory>
+#include <string>
+#include <vector>
 
+#include "cmGlobalGeneratorFactory.h"
 #include "cmGlobalUnixMakefileGenerator3.h"
 
+class cmMakefile;
+class cmake;
+struct cmDocumentationEntry;
+
 /** \class cmGlobalMSYSMakefileGenerator
  * \brief Write a NMake makefiles.
  *

+ 1 - 1
Source/cmGlobalMinGWMakefileGenerator.cxx

@@ -3,9 +3,9 @@
 #include "cmGlobalMinGWMakefileGenerator.h"
 
 #include "cmDocumentationEntry.h"
-#include "cmLocalUnixMakefileGenerator3.h"
 #include "cmMakefile.h"
 #include "cmState.h"
+#include "cmSystemTools.h"
 #include "cmake.h"
 
 cmGlobalMinGWMakefileGenerator::cmGlobalMinGWMakefileGenerator(cmake* cm)

+ 7 - 0
Source/cmGlobalMinGWMakefileGenerator.h

@@ -3,9 +3,16 @@
 #pragma once
 
 #include <memory>
+#include <string>
+#include <vector>
 
+#include "cmGlobalGeneratorFactory.h"
 #include "cmGlobalUnixMakefileGenerator3.h"
 
+class cmMakefile;
+class cmake;
+struct cmDocumentationEntry;
+
 /** \class cmGlobalMinGWMakefileGenerator
  * \brief Write a NMake makefiles.
  *

+ 8 - 1
Source/cmGlobalNMakeMakefileGenerator.cxx

@@ -2,13 +2,20 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmGlobalNMakeMakefileGenerator.h"
 
+#include <ostream>
+
+#include <cmext/algorithm>
+
 #include "cmsys/RegularExpression.hxx"
 
 #include "cmDocumentationEntry.h"
 #include "cmDuration.h"
-#include "cmLocalUnixMakefileGenerator3.h"
+#include "cmGlobalGenerator.h"
 #include "cmMakefile.h"
+#include "cmMessageType.h"
 #include "cmState.h"
+#include "cmStringAlgorithms.h"
+#include "cmSystemTools.h"
 #include "cmake.h"
 
 cmGlobalNMakeMakefileGenerator::cmGlobalNMakeMakefileGenerator(cmake* cm)

+ 10 - 0
Source/cmGlobalNMakeMakefileGenerator.h

@@ -4,8 +4,18 @@
 
 #include <iosfwd>
 #include <memory>
+#include <string>
+#include <vector>
 
+#include "cm_codecvt.hxx"
+
+#include "cmGlobalGeneratorFactory.h"
 #include "cmGlobalUnixMakefileGenerator3.h"
+#include "cmValue.h"
+
+class cmMakefile;
+class cmake;
+struct cmDocumentationEntry;
 
 /** \class cmGlobalNMakeMakefileGenerator
  * \brief Write a NMake makefiles.

+ 12 - 1
Source/cmGlobalVisualStudio10Generator.cxx

@@ -3,24 +3,35 @@
 #include "cmGlobalVisualStudio10Generator.h"
 
 #include <algorithm>
+#include <cstring>
+#include <map>
+#include <sstream>
 #include <utility>
 
 #include <cm/memory>
 
 #include <cm3p/json/reader.h>
+#include <cm3p/json/value.h>
 
 #include "cmsys/FStream.hxx"
 #include "cmsys/Glob.hxx"
 #include "cmsys/RegularExpression.hxx"
 
-#include "cmAlgorithms.h"
 #include "cmDocumentationEntry.h"
 #include "cmGeneratorTarget.h"
+#include "cmGlobalGenerator.h"
+#include "cmGlobalGeneratorFactory.h"
+#include "cmGlobalVisualStudio71Generator.h"
+#include "cmGlobalVisualStudio7Generator.h"
+#include "cmGlobalVisualStudioGenerator.h"
+#include "cmIDEFlagTable.h"
+#include "cmLocalGenerator.h"
 #include "cmLocalVisualStudio10Generator.h"
 #include "cmMakefile.h"
 #include "cmMessageType.h"
 #include "cmSourceFile.h"
 #include "cmStringAlgorithms.h"
+#include "cmSystemTools.h"
 #include "cmVersion.h"
 #include "cmVisualStudioSlnData.h"
 #include "cmVisualStudioSlnParser.h"

+ 11 - 0
Source/cmGlobalVisualStudio10Generator.h

@@ -2,14 +2,25 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #pragma once
 
+#include <cstddef>
 #include <memory>
 #include <set>
+#include <string>
+#include <vector>
 
 #include <cm/optional>
 #include <cm/string_view>
 
 #include "cmGlobalVisualStudio8Generator.h"
 
+class cmGeneratorTarget;
+class cmGlobalGeneratorFactory;
+class cmLocalGenerator;
+class cmMakefile;
+class cmSourceFile;
+class cmake;
+struct cmIDEFlagTable;
+
 /** \class cmGlobalVisualStudio10Generator
  * \brief Write a Unix makefiles.
  *

+ 9 - 2
Source/cmGlobalVisualStudio11Generator.cxx

@@ -2,12 +2,19 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmGlobalVisualStudio11Generator.h"
 
+#include <cstring>
+#include <sstream>
 #include <utility>
+#include <vector>
 
-#include "cmAlgorithms.h"
 #include "cmDocumentationEntry.h"
-#include "cmLocalVisualStudio10Generator.h"
+#include "cmGlobalGenerator.h"
+#include "cmGlobalGeneratorFactory.h"
+#include "cmGlobalVisualStudioGenerator.h"
 #include "cmMakefile.h"
+#include "cmMessageType.h"
+#include "cmStringAlgorithms.h"
+#include "cmSystemTools.h"
 
 static const char vs11generatorName[] = "Visual Studio 11 2012";
 

+ 3 - 2
Source/cmGlobalVisualStudio11Generator.h

@@ -4,13 +4,14 @@
 
 #include "cmConfigure.h" // IWYU pragma: keep
 
-#include <iosfwd>
 #include <memory>
 #include <set>
 #include <string>
 
+#include <cm/optional>
+
 #include "cmGlobalVisualStudio10Generator.h"
-#include "cmStateTypes.h"
+#include "cmTransformDepfile.h"
 
 class cmGlobalGeneratorFactory;
 class cmMakefile;

+ 10 - 2
Source/cmGlobalVisualStudio12Generator.cxx

@@ -2,10 +2,18 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmGlobalVisualStudio12Generator.h"
 
-#include "cmAlgorithms.h"
+#include <cstring>
+#include <sstream>
+#include <vector>
+
 #include "cmDocumentationEntry.h"
-#include "cmLocalVisualStudio10Generator.h"
+#include "cmGlobalGenerator.h"
+#include "cmGlobalGeneratorFactory.h"
+#include "cmGlobalVisualStudioGenerator.h"
 #include "cmMakefile.h"
+#include "cmMessageType.h"
+#include "cmStringAlgorithms.h"
+#include "cmSystemTools.h"
 
 static const char vs12generatorName[] = "Visual Studio 12 2013";
 

+ 0 - 1
Source/cmGlobalVisualStudio12Generator.h

@@ -4,7 +4,6 @@
 
 #include "cmConfigure.h" // IWYU pragma: keep
 
-#include <iosfwd>
 #include <memory>
 #include <string>
 

+ 10 - 1
Source/cmGlobalVisualStudio14Generator.cxx

@@ -2,11 +2,20 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmGlobalVisualStudio14Generator.h"
 
+#include <cstring>
+#include <sstream>
+
 #include <cm/vector>
 
 #include "cmDocumentationEntry.h"
-#include "cmLocalVisualStudio10Generator.h"
+#include "cmGlobalGenerator.h"
+#include "cmGlobalGeneratorFactory.h"
+#include "cmGlobalVisualStudioGenerator.h"
 #include "cmMakefile.h"
+#include "cmMessageType.h"
+#include "cmStringAlgorithms.h"
+#include "cmSystemTools.h"
+#include "cmValue.h"
 
 static const char vs14generatorName[] = "Visual Studio 14 2015";
 

+ 0 - 1
Source/cmGlobalVisualStudio14Generator.h

@@ -4,7 +4,6 @@
 
 #include "cmConfigure.h" // IWYU pragma: keep
 
-#include <iosfwd>
 #include <memory>
 #include <string>
 

+ 11 - 3
Source/cmGlobalVisualStudio71Generator.cxx

@@ -2,11 +2,19 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmGlobalVisualStudio71Generator.h"
 
-#include "cmDocumentationEntry.h"
+#include <map>
+#include <sstream>
+
 #include "cmGeneratorTarget.h"
-#include "cmLocalVisualStudio7Generator.h"
+#include "cmGlobalGenerator.h"
+#include "cmGlobalVisualStudioGenerator.h"
+#include "cmListFileCache.h"
+#include "cmLocalGenerator.h"
 #include "cmMakefile.h"
-#include "cmMessageType.h"
+#include "cmStringAlgorithms.h"
+#include "cmSystemTools.h"
+
+class cmake;
 
 cmGlobalVisualStudio71Generator::cmGlobalVisualStudio71Generator(
   cmake* cm, const std::string& platformName)

+ 13 - 0
Source/cmGlobalVisualStudio71Generator.h

@@ -2,7 +2,20 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #pragma once
 
+#include <iosfwd>
+#include <set>
+#include <string>
+#include <utility>
+#include <vector>
+
 #include "cmGlobalVisualStudio7Generator.h"
+#include "cmValue.h"
+
+class cmGeneratorTarget;
+class cmLocalGenerator;
+class cmake;
+template <typename T>
+class BT;
 
 /** \class cmGlobalVisualStudio71Generator
  * \brief Write a Unix makefiles.

+ 10 - 3
Source/cmGlobalVisualStudio7Generator.cxx

@@ -2,7 +2,9 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmGlobalVisualStudio7Generator.h"
 
-#include <cassert>
+#include <algorithm>
+#include <cstdio>
+#include <ostream>
 #include <utility>
 #include <vector>
 
@@ -11,17 +13,22 @@
 
 #include <windows.h>
 
-#include "cmsys/Encoding.hxx"
-
 #include "cmGeneratedFileStream.h"
 #include "cmGeneratorExpression.h"
 #include "cmGeneratorTarget.h"
+#include "cmGlobalGenerator.h"
+#include "cmLocalGenerator.h"
 #include "cmLocalVisualStudio7Generator.h"
 #include "cmMakefile.h"
 #include "cmMessageType.h"
 #include "cmState.h"
+#include "cmStateTypes.h"
 #include "cmStringAlgorithms.h"
+#include "cmSystemTools.h"
+#include "cmTarget.h"
+#include "cmTargetDepend.h"
 #include "cmUuid.h"
+#include "cmVisualStudioGeneratorOptions.h"
 #include "cmake.h"
 
 static cmVS7FlagTable cmVS7ExtraFlagTable[] = {

+ 14 - 2
Source/cmGlobalVisualStudio7Generator.h

@@ -2,14 +2,26 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #pragma once
 
+#include <iosfwd>
+#include <map>
 #include <memory>
+#include <set>
+#include <string>
+#include <utility>
+#include <vector>
+
+#include <cm3p/json/value.h>
 
-#include "cmGlobalGeneratorFactory.h"
 #include "cmGlobalVisualStudioGenerator.h"
 #include "cmValue.h"
 
-class cmTarget;
+class cmGeneratorTarget;
 struct cmIDEFlagTable;
+class cmLocalGenerator;
+class cmMakefile;
+class cmake;
+template <typename T>
+class BT;
 
 /** \class cmGlobalVisualStudio7Generator
  * \brief Write a Unix makefiles.

+ 22 - 3
Source/cmGlobalVisualStudio8Generator.cxx

@@ -2,22 +2,41 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmGlobalVisualStudio8Generator.h"
 
+#include <algorithm>
+#include <functional>
+#include <ostream>
+#include <utility>
+
 #include <cm/memory>
+#include <cmext/algorithm>
 #include <cmext/memory>
 
 #include "cmCustomCommand.h"
 #include "cmCustomCommandLines.h"
-#include "cmDocumentationEntry.h"
+#include "cmCustomCommandTypes.h"
 #include "cmGeneratedFileStream.h"
 #include "cmGeneratorExpression.h"
 #include "cmGeneratorTarget.h"
+#include "cmGlobalGenerator.h"
+#include "cmGlobalVisualStudio7Generator.h"
+#include "cmGlobalVisualStudioGenerator.h"
+#include "cmListFileCache.h"
+#include "cmLocalGenerator.h"
 #include "cmLocalVisualStudio7Generator.h"
 #include "cmMakefile.h"
-#include "cmMessageType.h"
+#include "cmPolicies.h"
 #include "cmSourceFile.h"
-#include "cmVisualStudioWCEPlatformParser.h"
+#include "cmStateTypes.h"
+#include "cmStringAlgorithms.h"
+#include "cmSystemTools.h"
+#include "cmTarget.h"
+#include "cmTargetDepend.h"
+#include "cmValue.h"
+#include "cmVisualStudioGeneratorOptions.h"
 #include "cmake.h"
 
+struct cmIDEFlagTable;
+
 cmGlobalVisualStudio8Generator::cmGlobalVisualStudio8Generator(
   cmake* cm, const std::string& name,
   std::string const& platformInGeneratorName)

+ 10 - 0
Source/cmGlobalVisualStudio8Generator.h

@@ -2,10 +2,20 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #pragma once
 
+#include <iosfwd>
+#include <set>
+#include <string>
+#include <vector>
+
 #include <cm/optional>
 
 #include "cmGlobalVisualStudio71Generator.h"
 
+class cmGeneratorTarget;
+class cmMakefile;
+class cmake;
+struct cmIDEFlagTable;
+
 /** \class cmGlobalVisualStudio8Generator
  * \brief Write a Unix makefiles.
  *

+ 8 - 3
Source/cmGlobalVisualStudio9Generator.cxx

@@ -2,14 +2,19 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmGlobalVisualStudio9Generator.h"
 
+#include <cstring>
 #include <utility>
+#include <vector>
 
 #include "cmDocumentationEntry.h"
-#include "cmLocalVisualStudio7Generator.h"
-#include "cmMakefile.h"
-#include "cmMessageType.h"
+#include "cmGlobalGenerator.h"
+#include "cmGlobalGeneratorFactory.h"
+#include "cmGlobalVisualStudioGenerator.h"
+#include "cmSystemTools.h"
 #include "cmVisualStudioWCEPlatformParser.h"
 
+class cmake;
+
 static const char vs9generatorName[] = "Visual Studio 9 2008";
 
 class cmGlobalVisualStudio9Generator::Factory : public cmGlobalGeneratorFactory

+ 4 - 0
Source/cmGlobalVisualStudio9Generator.h

@@ -3,9 +3,13 @@
 #pragma once
 
 #include <memory>
+#include <string>
 
 #include "cmGlobalVisualStudio8Generator.h"
 
+class cmGlobalGeneratorFactory;
+class cmake;
+
 /** \class cmGlobalVisualStudio9Generator
  * \brief Write a Unix makefiles.
  *

+ 10 - 3
Source/cmGlobalVisualStudioGenerator.cxx

@@ -3,8 +3,12 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmGlobalVisualStudioGenerator.h"
 
+#include <cassert>
 #include <future>
 #include <iostream>
+#include <sstream>
+#include <system_error>
+#include <utility>
 
 #include <cm/iterator>
 #include <cm/memory>
@@ -14,17 +18,20 @@
 #include <objbase.h>
 #include <shellapi.h>
 
-#include "cmsys/Encoding.hxx"
-
 #include "cmCallVisualStudioMacro.h"
 #include "cmCustomCommand.h"
 #include "cmCustomCommandLines.h"
 #include "cmGeneratedFileStream.h"
 #include "cmGeneratorTarget.h"
-#include "cmLocalVisualStudioGenerator.h"
+#include "cmLocalGenerator.h"
 #include "cmMakefile.h"
+#include "cmMessageType.h"
+#include "cmPolicies.h"
 #include "cmSourceFile.h"
 #include "cmState.h"
+#include "cmStateTypes.h"
+#include "cmStringAlgorithms.h"
+#include "cmSystemTools.h"
 #include "cmTarget.h"
 #include "cmake.h"
 

+ 3 - 0
Source/cmGlobalVisualStudioGenerator.h

@@ -10,8 +10,11 @@
 #include <string>
 #include <vector>
 
+#include "cm_codecvt.hxx"
+
 #include "cmGlobalGenerator.h"
 #include "cmTargetDepend.h"
+#include "cmValue.h"
 
 class cmCustomCommand;
 class cmGeneratorTarget;

+ 11 - 2
Source/cmGlobalVisualStudioVersionedGenerator.cxx

@@ -2,17 +2,26 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmGlobalVisualStudioVersionedGenerator.h"
 
+#include <cstring>
+#include <set>
+#include <sstream>
+#include <utility>
+#include <vector>
+
 #include <cmext/string_view>
 
 #include "cmsys/FStream.hxx"
 #include "cmsys/Glob.hxx"
 #include "cmsys/RegularExpression.hxx"
 
-#include "cmAlgorithms.h"
 #include "cmDocumentationEntry.h"
-#include "cmLocalVisualStudio10Generator.h"
+#include "cmGlobalGenerator.h"
+#include "cmGlobalGeneratorFactory.h"
 #include "cmMakefile.h"
+#include "cmMessageType.h"
+#include "cmStateTypes.h"
 #include "cmStringAlgorithms.h"
+#include "cmSystemTools.h"
 #include "cmVSSetupHelper.h"
 #include "cmake.h"
 

+ 3 - 1
Source/cmGlobalVisualStudioVersionedGenerator.h

@@ -4,16 +4,18 @@
 
 #include "cmConfigure.h" // IWYU pragma: keep
 
-#include <iosfwd>
 #include <memory>
 #include <string>
 
 #include <cm/optional>
 
+#include "cmGlobalVisualStudio10Generator.h"
 #include "cmGlobalVisualStudio14Generator.h"
+#include "cmGlobalVisualStudioGenerator.h"
 #include "cmVSSetupHelper.h"
 
 class cmGlobalGeneratorFactory;
+class cmMakefile;
 class cmake;
 
 /** \class cmGlobalVisualStudioVersionedGenerator  */

+ 2 - 1
Source/cmIDEOptions.cxx

@@ -2,14 +2,15 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmIDEOptions.h"
 
+#include <algorithm>
 #include <cstring>
 #include <iterator>
+#include <utility>
 
 #include <cmext/algorithm>
 
 #include "cmsys/String.h"
 
-#include "cmAlgorithms.h"
 #include "cmIDEFlagTable.h"
 #include "cmStringAlgorithms.h"
 

+ 6 - 5
Source/cmLocalVisualStudio10Generator.cxx

@@ -2,18 +2,19 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmLocalVisualStudio10Generator.h"
 
-#include <cmext/algorithm>
-
 #include <cm3p/expat.h>
 
-#include "cmAlgorithms.h"
-#include "cmGeneratorTarget.h"
+#include "cmGlobalGenerator.h"
 #include "cmGlobalVisualStudio10Generator.h"
-#include "cmMakefile.h"
+#include "cmGlobalVisualStudioGenerator.h"
+#include "cmStateTypes.h"
+#include "cmStringAlgorithms.h"
 #include "cmVisualStudio10TargetGenerator.h"
 #include "cmXMLParser.h"
 #include "cmake.h"
 
+class cmGeneratorTarget;
+
 class cmVS10XMLParser : public cmXMLParser
 {
 public:

+ 1 - 0
Source/cmLocalVisualStudio10Generator.h

@@ -8,6 +8,7 @@
 
 #include "cmLocalVisualStudio7Generator.h"
 
+class cmGeneratorTarget;
 class cmGlobalGenerator;
 class cmMakefile;
 

+ 19 - 2
Source/cmLocalVisualStudio7Generator.cxx

@@ -2,7 +2,12 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmLocalVisualStudio7Generator.h"
 
-#include <cctype> // for isspace
+#include <algorithm>
+#include <cassert>
+#include <cstring>
+#include <functional>
+#include <sstream>
+#include <utility>
 
 #include <cm/memory>
 #include <cmext/algorithm>
@@ -11,18 +16,30 @@
 
 #include <cm3p/expat.h>
 
+#include "cmsys/FStream.hxx"
+
 #include "cmComputeLinkInformation.h"
 #include "cmCustomCommand.h"
 #include "cmCustomCommandGenerator.h"
+#include "cmCustomCommandLines.h"
 #include "cmGeneratedFileStream.h"
 #include "cmGeneratorExpression.h"
 #include "cmGeneratorTarget.h"
+#include "cmGlobalGenerator.h"
 #include "cmGlobalVisualStudio7Generator.h"
+#include "cmGlobalVisualStudioGenerator.h"
+#include "cmListFileCache.h"
 #include "cmMakefile.h"
-#include "cmMessageType.h"
+#include "cmOutputConverter.h"
+#include "cmPolicies.h"
 #include "cmSourceFile.h"
+#include "cmSourceGroup.h"
+#include "cmStateTypes.h"
 #include "cmStringAlgorithms.h"
 #include "cmSystemTools.h"
+#include "cmTarget.h"
+#include "cmTargetDepend.h"
+#include "cmValue.h"
 #include "cmXMLParser.h"
 #include "cmake.h"
 

+ 2 - 0
Source/cmLocalVisualStudio7Generator.h

@@ -5,7 +5,9 @@
 #include "cmConfigure.h" // IWYU pragma: keep
 
 #include <iosfwd>
+#include <map>
 #include <memory>
+#include <set>
 #include <string>
 #include <vector>
 

+ 6 - 0
Source/cmLocalVisualStudioGenerator.cxx

@@ -2,15 +2,21 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmLocalVisualStudioGenerator.h"
 
+#include <utility>
+
 #include "windows.h"
 
 #include "cmCustomCommand.h"
 #include "cmCustomCommandGenerator.h"
+#include "cmCustomCommandLines.h"
 #include "cmGeneratorTarget.h"
 #include "cmGlobalGenerator.h"
 #include "cmMakefile.h"
+#include "cmOutputConverter.h"
 #include "cmSourceFile.h"
+#include "cmStateTypes.h"
 #include "cmSystemTools.h"
+#include "cmValue.h"
 
 cmLocalVisualStudioGenerator::cmLocalVisualStudioGenerator(
   cmGlobalGenerator* gg, cmMakefile* mf)

+ 24 - 1
Source/cmVisualStudio10TargetGenerator.cxx

@@ -2,8 +2,12 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmVisualStudio10TargetGenerator.h"
 
+#include <algorithm>
+#include <cstdio>
+#include <cstring>
 #include <iterator>
 #include <set>
+#include <sstream>
 
 #include <cm/memory>
 #include <cm/optional>
@@ -13,22 +17,41 @@
 
 #include "windows.h"
 
+#include "cmsys/FStream.hxx"
+#include "cmsys/RegularExpression.hxx"
+
 #include "cmComputeLinkInformation.h"
 #include "cmCustomCommand.h"
 #include "cmCustomCommandGenerator.h"
 #include "cmGeneratedFileStream.h"
 #include "cmGeneratorExpression.h"
 #include "cmGeneratorTarget.h"
+#include "cmGlobalGenerator.h"
 #include "cmGlobalVisualStudio10Generator.h"
-#include "cmGlobalVisualStudioVersionedGenerator.h"
+#include "cmGlobalVisualStudio7Generator.h"
+#include "cmGlobalVisualStudioGenerator.h"
 #include "cmLinkLineDeviceComputer.h"
+#include "cmListFileCache.h"
+#include "cmLocalGenerator.h"
 #include "cmLocalVisualStudio10Generator.h"
+#include "cmLocalVisualStudio7Generator.h"
+#include "cmLocalVisualStudioGenerator.h"
 #include "cmMakefile.h"
+#include "cmMessageType.h"
+#include "cmPropertyMap.h"
 #include "cmSourceFile.h"
+#include "cmSourceFileLocation.h"
+#include "cmSourceFileLocationKind.h"
+#include "cmSourceGroup.h"
+#include "cmStateTypes.h"
 #include "cmStringAlgorithms.h"
 #include "cmSystemTools.h"
+#include "cmTarget.h"
+#include "cmValue.h"
 #include "cmVisualStudioGeneratorOptions.h"
 
+struct cmIDEFlagTable;
+
 static void ConvertToWindowsSlash(std::string& s);
 
 static std::string cmVS10EscapeXML(std::string arg)

+ 2 - 2
Source/cmVisualStudio10TargetGenerator.h

@@ -4,12 +4,13 @@
 
 #include "cmConfigure.h" // IWYU pragma: keep
 
-#include <iosfwd>
+#include <cstddef>
 #include <map>
 #include <memory>
 #include <set>
 #include <string>
 #include <unordered_map>
+#include <utility>
 #include <vector>
 
 #include "cmGeneratorTarget.h"
@@ -17,7 +18,6 @@
 class cmComputeLinkInformation;
 class cmCustomCommand;
 class cmCustomCommandGenerator;
-class cmGeneratedFileStream;
 class cmGlobalVisualStudio10Generator;
 class cmLocalVisualStudio10Generator;
 class cmMakefile;

+ 8 - 2
Source/cmVisualStudioGeneratorOptions.cxx

@@ -1,12 +1,18 @@
 #include "cmVisualStudioGeneratorOptions.h"
 
+#include <algorithm>
+#include <map>
+#include <sstream>
+#include <utility>
+#include <vector>
+
 #include <cm/iterator>
 
 #include "cmAlgorithms.h"
-#include "cmGeneratorExpression.h"
-#include "cmGeneratorTarget.h"
 #include "cmLocalVisualStudioGenerator.h"
 #include "cmOutputConverter.h"
+#include "cmRange.h"
+#include "cmStringAlgorithms.h"
 #include "cmSystemTools.h"
 
 static void cmVS10EscapeForMSBuild(std::string& ret)

+ 0 - 1
Source/cmVisualStudioGeneratorOptions.h

@@ -12,7 +12,6 @@
 #include "cmIDEOptions.h"
 
 class cmLocalVisualStudioGenerator;
-class cmGeneratorTarget;
 
 using cmVS7FlagTable = cmIDEFlagTable;
 

+ 3 - 0
Source/cmVisualStudioSlnData.cxx

@@ -2,6 +2,9 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmVisualStudioSlnData.h"
 
+#include <cstddef>
+#include <utility>
+
 const cmSlnProjectEntry* cmSlnData::GetProjectByGUID(
   const std::string& projectGUID) const
 {

+ 3 - 1
Source/cmVisualStudioSlnParser.cxx

@@ -3,12 +3,14 @@
 #include "cmVisualStudioSlnParser.h"
 
 #include <cassert>
+#include <memory>
 #include <stack>
+#include <utility>
+#include <vector>
 
 #include "cmsys/FStream.hxx"
 
 #include "cmStringAlgorithms.h"
-#include "cmSystemTools.h"
 #include "cmVisualStudioSlnData.h"
 
 namespace {

+ 5 - 1
Source/cmVisualStudioWCEPlatformParser.cxx

@@ -2,8 +2,12 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmVisualStudioWCEPlatformParser.h"
 
+#include <algorithm>
+#include <cstring>
+#include <utility>
+
 #include "cmGlobalVisualStudioGenerator.h"
-#include "cmXMLParser.h"
+#include "cmSystemTools.h"
 
 int cmVisualStudioWCEPlatformParser::ParseVersion(const char* version)
 {