Browse Source

Merge topic 'include-what-you-use'

efed6468 fix a load of include-what-you-use violations
bd3d0eaf cmCTest: don't redefine cout and cerr
3838a0d5 make sure to include cmConfigure.h before cmStandardIncludes.h
54140848 Tests/CMakeLib: include what you use
3f9c4cdf Tests/CMakeLib: use cmsys::ifstream
Brad King 9 years ago
parent
commit
bfdf1322e7
100 changed files with 562 additions and 202 deletions
  1. 2 0
      Source/CPack/WiX/cmWIXRichTextFormatWriter.h
  2. 2 0
      Source/CPack/cmCPackComponentGroup.h
  3. 2 0
      Source/CursesDialog/cmCursesStandardIncludes.h
  4. 2 0
      Source/QtDialog/CMakeSetup.cxx
  5. 2 0
      Source/bindexplib.h
  6. 2 0
      Source/cmAlgorithms.h
  7. 29 27
      Source/cmCTest.cxx
  8. 9 17
      Source/cmCTest.h
  9. 2 0
      Source/cmCallVisualStudioMacro.h
  10. 8 2
      Source/cmCommandArgumentParserHelper.cxx
  11. 4 1
      Source/cmCommandArgumentParserHelper.h
  12. 2 0
      Source/cmCommandArgumentsHelper.h
  13. 1 0
      Source/cmConditionEvaluator.cxx
  14. 1 1
      Source/cmConfigure.cmake.h.in
  15. 2 0
      Source/cmCryptoHash.cxx
  16. 3 1
      Source/cmCryptoHash.h
  17. 7 2
      Source/cmCurl.cxx
  18. 3 2
      Source/cmCurl.h
  19. 1 1
      Source/cmCustomCommand.cxx
  20. 7 1
      Source/cmCustomCommand.h
  21. 7 0
      Source/cmCustomCommandGenerator.cxx
  22. 5 2
      Source/cmCustomCommandGenerator.h
  23. 2 0
      Source/cmDefinitions.cxx
  24. 6 3
      Source/cmDefinitions.h
  25. 3 0
      Source/cmDepends.cxx
  26. 8 1
      Source/cmDepends.h
  27. 3 2
      Source/cmDependsC.cxx
  28. 9 0
      Source/cmDependsC.h
  29. 7 1
      Source/cmDependsFortran.cxx
  30. 7 0
      Source/cmDependsFortran.h
  31. 0 1
      Source/cmDependsJava.cxx
  32. 7 0
      Source/cmDependsJava.h
  33. 2 0
      Source/cmDependsJavaLexer.cxx
  34. 7 0
      Source/cmDependsJavaParserHelper.cxx
  35. 4 1
      Source/cmDependsJavaParserHelper.h
  36. 5 4
      Source/cmDocumentation.cxx
  37. 8 6
      Source/cmDocumentation.h
  38. 6 0
      Source/cmDocumentationFormatter.cxx
  39. 3 1
      Source/cmDocumentationFormatter.h
  40. 6 1
      Source/cmDocumentationSection.h
  41. 7 0
      Source/cmDynamicLoader.cxx
  42. 1 1
      Source/cmDynamicLoader.h
  43. 6 2
      Source/cmELF.cxx
  44. 5 0
      Source/cmELF.h
  45. 2 0
      Source/cmExecutionStatus.h
  46. 2 0
      Source/cmExpandedCommandArgument.h
  47. 14 0
      Source/cmExportBuildFileGenerator.cxx
  48. 9 1
      Source/cmExportBuildFileGenerator.h
  49. 9 4
      Source/cmExportFileGenerator.cxx
  50. 11 3
      Source/cmExportFileGenerator.h
  51. 10 0
      Source/cmExportInstallFileGenerator.cxx
  52. 10 0
      Source/cmExportInstallFileGenerator.h
  53. 5 2
      Source/cmExportSet.h
  54. 2 0
      Source/cmExportSetMap.cxx
  55. 4 1
      Source/cmExportSetMap.h
  56. 10 1
      Source/cmExportTryCompileFileGenerator.cxx
  57. 10 2
      Source/cmExportTryCompileFileGenerator.h
  58. 2 0
      Source/cmExprLexer.cxx
  59. 4 2
      Source/cmExprParserHelper.cxx
  60. 4 4
      Source/cmExprParserHelper.h
  61. 1 1
      Source/cmExternalMakefileProjectGenerator.cxx
  62. 4 2
      Source/cmExternalMakefileProjectGenerator.h
  63. 10 3
      Source/cmExtraCodeBlocksGenerator.cxx
  64. 6 1
      Source/cmExtraCodeBlocksGenerator.h
  65. 10 6
      Source/cmExtraCodeLiteGenerator.cxx
  66. 6 0
      Source/cmExtraCodeLiteGenerator.h
  67. 14 5
      Source/cmExtraEclipseCDT4Generator.cxx
  68. 9 1
      Source/cmExtraEclipseCDT4Generator.h
  69. 8 4
      Source/cmExtraKateGenerator.cxx
  70. 5 1
      Source/cmExtraKateGenerator.h
  71. 7 4
      Source/cmExtraSublimeTextGenerator.cxx
  72. 9 3
      Source/cmExtraSublimeTextGenerator.h
  73. 3 1
      Source/cmFileLock.h
  74. 3 2
      Source/cmFileLockPool.h
  75. 1 0
      Source/cmFileLockResult.cxx
  76. 3 1
      Source/cmFileLockResult.h
  77. 2 0
      Source/cmFilePathUuid.cxx
  78. 2 1
      Source/cmFilePathUuid.h
  79. 8 5
      Source/cmFileTimeComparison.cxx
  80. 1 1
      Source/cmFileTimeComparison.h
  81. 2 0
      Source/cmFortranParser.h
  82. 8 1
      Source/cmFortranParserImpl.cxx
  83. 2 0
      Source/cmFunctionBlocker.h
  84. 2 0
      Source/cmGeneratedFileStream.cxx
  85. 2 1
      Source/cmGeneratedFileStream.h
  86. 5 3
      Source/cmGeneratorExpression.cxx
  87. 7 7
      Source/cmGeneratorExpression.h
  88. 0 2
      Source/cmGeneratorExpressionContext.cxx
  89. 8 0
      Source/cmGeneratorExpressionDAGChecker.cxx
  90. 9 2
      Source/cmGeneratorExpressionDAGChecker.h
  91. 7 2
      Source/cmGeneratorExpressionEvaluationFile.cxx
  92. 5 0
      Source/cmGeneratorExpressionEvaluationFile.h
  93. 4 13
      Source/cmGeneratorExpressionEvaluator.cxx
  94. 3 3
      Source/cmGeneratorExpressionEvaluator.h
  95. 3 1
      Source/cmGeneratorExpressionLexer.h
  96. 31 5
      Source/cmGeneratorExpressionNode.cxx
  97. 8 12
      Source/cmGeneratorExpressionNode.h
  98. 2 1
      Source/cmGeneratorExpressionParser.cxx
  99. 2 3
      Source/cmGeneratorExpressionParser.h
  100. 17 3
      Source/cmGeneratorTarget.cxx

+ 2 - 0
Source/CPack/WiX/cmWIXRichTextFormatWriter.h

@@ -13,6 +13,8 @@
 #ifndef cmWIXRichTextFormatWriter_h
 #define cmWIXRichTextFormatWriter_h
 
+#include <cmConfigure.h>
+
 #include "cmStandardIncludes.h"
 
 #include <cmsys/FStream.hxx>

+ 2 - 0
Source/CPack/cmCPackComponentGroup.h

@@ -13,6 +13,8 @@
 #ifndef cmCPackComponentGroup_h
 #define cmCPackComponentGroup_h
 
+#include <cmConfigure.h>
+
 #include "cmStandardIncludes.h"
 
 class cmCPackComponentGroup;

+ 2 - 0
Source/CursesDialog/cmCursesStandardIncludes.h

@@ -12,6 +12,8 @@
 #ifndef cmCursesStandardIncludes_h
 #define cmCursesStandardIncludes_h
 
+#include <cmConfigure.h>
+
 #include "../cmStandardIncludes.h"
 
 #if defined(__sun__) && defined(__GNUC__)

+ 2 - 0
Source/QtDialog/CMakeSetup.cxx

@@ -27,6 +27,8 @@
 #include <cmsys/Encoding.hxx>
 #include <cmsys/SystemTools.hxx>
 
+#include "cmSystemTools.h" // IWYU pragma: keep
+
 static const char* cmDocumentationName[][2] = { { 0,
                                                   "  cmake-gui - CMake GUI." },
                                                 { 0, 0 } };

+ 2 - 0
Source/bindexplib.h

@@ -13,6 +13,8 @@
 #ifndef bindexplib_h
 #define bindexplib_h
 
+#include <cmConfigure.h>
+
 #include "cmStandardIncludes.h"
 
 

+ 2 - 0
Source/cmAlgorithms.h

@@ -12,6 +12,8 @@
 #ifndef cmAlgorithms_h
 #define cmAlgorithms_h
 
+#include <cmConfigure.h>
+
 #include "cmStandardIncludes.h"
 
 inline bool cmHasLiteralPrefixImpl(const std::string& str1, const char* str2,

+ 29 - 27
Source/cmCTest.cxx

@@ -9,52 +9,54 @@
   implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
   See the License for more information.
 ============================================================================*/
-#include "cmCurl.h" // include before anything that includes windows.h
-
 #include "cmCTest.h"
 
 #include "cmAlgorithms.h"
-#include "cmCTestCommand.h"
-#include "cmCTestStartCommand.h"
-#include "cmDynamicLoader.h"
-#include "cmGeneratedFileStream.h"
-#include "cmGlobalGenerator.h"
-#include "cmMakefile.h"
-#include "cmState.h"
-#include "cmVersionMacros.h"
-#include "cmXMLWriter.h"
-#include "cmake.h"
-#include <cmsys/Base64.h>
-#include <cmsys/Directory.hxx>
-#include <cmsys/FStream.hxx>
-#include <cmsys/SystemInformation.hxx>
-
 #include "cmCTestBuildAndTestHandler.h"
 #include "cmCTestBuildHandler.h"
 #include "cmCTestConfigureHandler.h"
 #include "cmCTestCoverageHandler.h"
+#include "cmCTestGenericHandler.h"
 #include "cmCTestMemCheckHandler.h"
 #include "cmCTestScriptHandler.h"
+#include "cmCTestStartCommand.h"
 #include "cmCTestSubmitHandler.h"
 #include "cmCTestTestHandler.h"
 #include "cmCTestUpdateHandler.h"
 #include "cmCTestUploadHandler.h"
-
+#include "cmCurl.h"
+#include "cmDynamicLoader.h"
+#include "cmGeneratedFileStream.h"
+#include "cmGlobalGenerator.h"
+#include "cmMakefile.h"
+#include "cmState.h"
+#include "cmSystemTools.h"
 #include "cmVersion.h"
+#include "cmVersionConfig.h"
+#include "cmXMLWriter.h"
+#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/RegularExpression.hxx>
-
+#include <cmsys/String.hxx>
+#include <cmsys/SystemInformation.hxx>
 #include <ctype.h>
-#include <float.h>
-#include <math.h>
+#include <iostream>
+#include <map>
+#include <sstream>
+#include <stdio.h>
 #include <stdlib.h>
-
-#include <cm_auto_ptr.hxx>
-
-#include <cm_zlib.h>
-#include <cmsys/Base64.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. */

+ 9 - 17
Source/cmCTest.h

@@ -13,18 +13,20 @@
 #ifndef cmCTest_h
 #define cmCTest_h
 
-#include "cmStandardIncludes.h"
+#include <cmConfigure.h>
 
-#include "cmListFileCache.h"
+#include <cmsys/String.hxx>
+#include <map>
+#include <set>
+#include <sstream>
+#include <string>
 #include <time.h>
+#include <vector>
 
-class cmake;
-class cmMakefile;
 class cmCTestGenericHandler;
-class cmGeneratedFileStream;
-class cmCTestCommand;
-class cmCTestScriptHandler;
 class cmCTestStartCommand;
+class cmGeneratedFileStream;
+class cmMakefile;
 class cmXMLWriter;
 
 #define cmCTestLog(ctSelf, logType, msg)                                      \
@@ -43,16 +45,6 @@ class cmXMLWriter;
                   cmCTestLog_msg.str().c_str(), suppress);                    \
   } while (0)
 
-#ifdef cerr
-#undef cerr
-#endif
-#define cerr no_cerr_use_cmCTestLog
-
-#ifdef cout
-#undef cout
-#endif
-#define cout no_cout_use_cmCTestLog
-
 /** \class cmCTest
  * \brief Represents a ctest invocation.
  *

+ 2 - 0
Source/cmCallVisualStudioMacro.h

@@ -12,6 +12,8 @@
 #ifndef cmCallVisualStudioMacro_h
 #define cmCallVisualStudioMacro_h
 
+#include <cmConfigure.h>
+
 #include "cmStandardIncludes.h"
 
 /** \class cmCallVisualStudioMacro

+ 8 - 2
Source/cmCommandArgumentParserHelper.cxx

@@ -11,12 +11,18 @@
 ============================================================================*/
 #include "cmCommandArgumentParserHelper.h"
 
+#include <cm_kwiml.h>
+
+#include "cmCommandArgumentLexer.h"
 #include "cmMakefile.h"
-#include "cmOutputConverter.h"
 #include "cmState.h"
 #include "cmSystemTools.h"
+#include "cmake.h"
 
-#include "cmCommandArgumentLexer.h"
+#include <cmConfigure.h>
+#include <iostream>
+#include <sstream>
+#include <string.h>
 
 int cmCommandArgument_yyparse(yyscan_t yyscanner);
 //

+ 4 - 1
Source/cmCommandArgumentParserHelper.h

@@ -12,7 +12,10 @@
 #ifndef cmCommandArgumentParserHelper_h
 #define cmCommandArgumentParserHelper_h
 
-#include "cmStandardIncludes.h"
+#include <cmConfigure.h> // IWYU pragma: keep
+
+#include <string>
+#include <vector>
 
 #define YYSTYPE cmCommandArgumentParserHelper::ParserType
 #define YYSTYPE_IS_DECLARED

+ 2 - 0
Source/cmCommandArgumentsHelper.h

@@ -12,6 +12,8 @@
 #ifndef cmCommandArgumentsHelper_h
 #define cmCommandArgumentsHelper_h
 
+#include <cmConfigure.h>
+
 #include "cmStandardIncludes.h"
 
 class cmCommandArgumentsHelper;

+ 1 - 0
Source/cmConditionEvaluator.cxx

@@ -14,6 +14,7 @@
 
 #include "cmAlgorithms.h"
 #include "cmOutputConverter.h"
+#include "cmSystemTools.h"
 
 static std::string const keyAND = "AND";
 static std::string const keyCOMMAND = "COMMAND";

+ 1 - 1
Source/cmConfigure.cmake.h.in

@@ -12,7 +12,7 @@
 #ifndef cmConfigure_h
 #define cmConfigure_h
 
-#include <cmsys/Configure.hxx>
+#include <cmsys/Configure.hxx> // IWYU pragma: keep
 
 #ifdef _MSC_VER
 #pragma warning(disable : 4786)

+ 2 - 0
Source/cmCryptoHash.cxx

@@ -12,8 +12,10 @@
 #include "cmCryptoHash.h"
 
 #include "cm_sha2.h"
+
 #include <cmsys/FStream.hxx>
 #include <cmsys/MD5.h>
+#include <string.h>
 
 CM_AUTO_PTR<cmCryptoHash> cmCryptoHash::New(const char* algo)
 {

+ 3 - 1
Source/cmCryptoHash.h

@@ -12,9 +12,11 @@
 #ifndef cmCryptoHash_h
 #define cmCryptoHash_h
 
-#include "cmStandardIncludes.h"
+#include <cmConfigure.h>
 
 #include <cm_auto_ptr.hxx>
+#include <string>
+#include <vector>
 
 /**
  * @brief Abstract base class for cryptographic hash generators

+ 7 - 2
Source/cmCurl.cxx

@@ -11,7 +11,13 @@
 ============================================================================*/
 #include "cmCurl.h"
 
+#include "cmThirdParty.h"
+
+#if !defined(CMAKE_USE_SYSTEM_CURL) && !defined(_WIN32) &&                    \
+  !defined(__APPLE__) && !defined(CURL_CA_BUNDLE) && !defined(CURL_CA_PATH)
+#define CMAKE_FIND_CAFILE
 #include "cmSystemTools.h"
+#endif
 
 // curl versions before 7.21.5 did not provide this error code
 #if defined(LIBCURL_VERSION_NUM) && LIBCURL_VERSION_NUM < 0x071505
@@ -32,8 +38,7 @@ std::string cmCurlSetCAInfo(::CURL* curl, const char* cafile)
     ::CURLcode res = ::curl_easy_setopt(curl, CURLOPT_CAINFO, cafile);
     check_curl_result(res, "Unable to set TLS/SSL Verify CAINFO: ");
   }
-#if !defined(CMAKE_USE_SYSTEM_CURL) && !defined(_WIN32) &&                    \
-  !defined(__APPLE__) && !defined(CURL_CA_BUNDLE) && !defined(CURL_CA_PATH)
+#ifdef CMAKE_FIND_CAFILE
 #define CMAKE_CAFILE_FEDORA "/etc/pki/tls/certs/ca-bundle.crt"
   else if (cmSystemTools::FileExists(CMAKE_CAFILE_FEDORA, true)) {
     ::CURLcode res =

+ 3 - 2
Source/cmCurl.h

@@ -12,9 +12,10 @@
 #ifndef cmCurl_h
 #define cmCurl_h
 
-#include "cmStandardIncludes.h"
+#include <cmConfigure.h>
 
-#include "cm_curl.h"
+#include <cm_curl.h>
+#include <string>
 
 std::string cmCurlSetCAInfo(::CURL* curl, const char* cafile = CM_NULLPTR);
 

+ 1 - 1
Source/cmCustomCommand.cxx

@@ -13,7 +13,7 @@
 
 #include "cmMakefile.h"
 
-#include <cm_auto_ptr.hxx>
+#include <cmConfigure.h>
 
 cmCustomCommand::cmCustomCommand()
   : Backtrace()

+ 7 - 1
Source/cmCustomCommand.h

@@ -12,9 +12,15 @@
 #ifndef cmCustomCommand_h
 #define cmCustomCommand_h
 
-#include "cmStandardIncludes.h"
+#include <cmConfigure.h> // IWYU pragma: keep
 
+#include "cmCustomCommandLines.h"
 #include "cmListFileCache.h"
+
+#include <string>
+#include <utility>
+#include <vector>
+
 class cmMakefile;
 
 /** \class cmCustomCommand

+ 7 - 0
Source/cmCustomCommandGenerator.cxx

@@ -12,10 +12,17 @@
 #include "cmCustomCommandGenerator.h"
 
 #include "cmCustomCommand.h"
+#include "cmCustomCommandLines.h"
 #include "cmGeneratorExpression.h"
+#include "cmGeneratorTarget.h"
 #include "cmLocalGenerator.h"
 #include "cmMakefile.h"
 #include "cmOutputConverter.h"
+#include "cmState.h"
+#include "cmSystemTools.h"
+#include "cm_auto_ptr.hxx"
+
+#include <cmConfigure.h>
 
 cmCustomCommandGenerator::cmCustomCommandGenerator(cmCustomCommand const& cc,
                                                    const std::string& config,

+ 5 - 2
Source/cmCustomCommandGenerator.h

@@ -12,11 +12,14 @@
 #ifndef cmCustomCommandGenerator_h
 #define cmCustomCommandGenerator_h
 
-#include "cmStandardIncludes.h"
+#include <cmConfigure.h> // IWYU pragma: keep
+
+#include <string>
+#include <vector>
 
 class cmCustomCommand;
-class cmLocalGenerator;
 class cmGeneratorExpression;
+class cmLocalGenerator;
 
 class cmCustomCommandGenerator
 {

+ 2 - 0
Source/cmDefinitions.cxx

@@ -12,6 +12,8 @@
 #include "cmDefinitions.h"
 
 #include <assert.h>
+#include <set>
+#include <utility>
 
 cmDefinitions::Def cmDefinitions::NoDef;
 

+ 6 - 3
Source/cmDefinitions.h

@@ -12,20 +12,23 @@
 #ifndef cmDefinitions_h
 #define cmDefinitions_h
 
-#include "cmStandardIncludes.h"
+#include <cmConfigure.h>
 
 #include "cmLinkedTree.h"
 
+#include <string>
+#include <vector>
+
 #if defined(CMAKE_BUILD_WITH_CMAKE)
 #ifdef CMake_HAVE_CXX_UNORDERED_MAP
 #include <unordered_map>
 #else
 #include "cmsys/hash_map.hxx"
 #endif
+#else
+#include <map>
 #endif
 
-#include <list>
-
 /** \class cmDefinitions
  * \brief Store a scope of variable definitions for CMake language.
  *

+ 3 - 0
Source/cmDepends.cxx

@@ -16,8 +16,11 @@
 #include "cmLocalGenerator.h"
 #include "cmMakefile.h"
 #include "cmSystemTools.h"
+
 #include <cmsys/FStream.hxx>
+#include <sstream>
 #include <string.h>
+#include <utility>
 
 cmDepends::cmDepends(cmLocalGenerator* lg, const char* targetDir)
   : CompileDirectory()

+ 8 - 1
Source/cmDepends.h

@@ -12,7 +12,14 @@
 #ifndef cmDepends_h
 #define cmDepends_h
 
-#include "cmStandardIncludes.h"
+#include <cmConfigure.h>
+
+#include <iosfwd>
+#include <map>
+#include <set>
+#include <stddef.h>
+#include <string>
+#include <vector>
 
 class cmFileTimeComparison;
 class cmLocalGenerator;

+ 3 - 2
Source/cmDependsC.cxx

@@ -15,10 +15,11 @@
 #include "cmFileTimeComparison.h"
 #include "cmLocalGenerator.h"
 #include "cmMakefile.h"
+#include "cmOutputConverter.h"
 #include "cmSystemTools.h"
-#include <cmsys/FStream.hxx>
 
-#include <ctype.h> // isspace
+#include <cmsys/FStream.hxx>
+#include <utility>
 
 #define INCLUDE_REGEX_LINE                                                    \
   "^[ \t]*#[ \t]*(include|import)[ \t]*[<\"]([^\">]+)([\">])"

+ 9 - 0
Source/cmDependsC.h

@@ -12,10 +12,19 @@
 #ifndef cmDependsC_h
 #define cmDependsC_h
 
+#include <cmConfigure.h>
+
 #include "cmDepends.h"
 
 #include <cmsys/RegularExpression.hxx>
+#include <iosfwd>
+#include <map>
 #include <queue>
+#include <set>
+#include <string>
+#include <vector>
+
+class cmLocalGenerator;
 
 /** \class cmDependsC
  * \brief Dependency scanner for C and C++ object files.

+ 7 - 1
Source/cmDependsFortran.cxx

@@ -11,14 +11,20 @@
 ============================================================================*/
 #include "cmDependsFortran.h"
 
+#include "cmFortranParser.h" /* Interface to parser object.  */
 #include "cmGeneratedFileStream.h"
 #include "cmLocalGenerator.h"
 #include "cmMakefile.h"
+#include "cmOutputConverter.h"
 #include "cmSystemTools.h"
 
-#include "cmFortranParser.h" /* Interface to parser object.  */
 #include <assert.h>
 #include <cmsys/FStream.hxx>
+#include <iostream>
+#include <map>
+#include <stdlib.h>
+#include <string.h>
+#include <utility>
 
 // 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

+ 7 - 0
Source/cmDependsFortran.h

@@ -12,10 +12,17 @@
 #ifndef cmFortran_h
 #define cmFortran_h
 
+#include <cmConfigure.h>
+#include <iosfwd>
+#include <set>
+#include <string>
+#include <vector>
+
 #include "cmDepends.h"
 
 class cmDependsFortranInternals;
 class cmFortranSourceInfo;
+class cmLocalGenerator;
 
 /** \class cmDependsFortran
  * \brief Dependency scanner for Fortran object files.

+ 0 - 1
Source/cmDependsJava.cxx

@@ -11,7 +11,6 @@
 ============================================================================*/
 #include "cmDependsJava.h"
 
-#include "cmDependsJavaParserHelper.h"
 #include "cmSystemTools.h"
 
 cmDependsJava::cmDependsJava()

+ 7 - 0
Source/cmDependsJava.h

@@ -12,8 +12,15 @@
 #ifndef cmDependsJava_h
 #define cmDependsJava_h
 
+#include <cmConfigure.h>
+
 #include "cmDepends.h"
 
+#include <iosfwd>
+#include <map>
+#include <set>
+#include <string>
+
 /** \class cmDependsJava
  * \brief Dependency scanner for Java class files.
  */

+ 2 - 0
Source/cmDependsJavaLexer.cxx

@@ -1,3 +1,5 @@
+#include <cmConfigure.h>
+
 #include "cmStandardIncludes.h"
 #line 2 "cmDependsJavaLexer.cxx"
 

+ 7 - 0
Source/cmDependsJavaParserHelper.cxx

@@ -11,9 +11,16 @@
 ============================================================================*/
 #include "cmDependsJavaParserHelper.h"
 
+#include <cmConfigure.h>
+
 #include "cmDependsJavaLexer.h"
 #include "cmSystemTools.h"
+
 #include <cmsys/FStream.hxx>
+#include <iostream>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
 
 int cmDependsJava_yyparse(yyscan_t yyscanner);
 

+ 4 - 1
Source/cmDependsJavaParserHelper.h

@@ -12,7 +12,10 @@
 #ifndef cmDependsJavaParserHelper_h
 #define cmDependsJavaParserHelper_h
 
-#include "cmStandardIncludes.h"
+#include <cmConfigure.h> // IWYU pragma: keep
+
+#include <string>
+#include <vector>
 
 #define YYSTYPE cmDependsJavaParserHelper::ParserType
 #define YYSTYPE_IS_DECLARED

+ 5 - 4
Source/cmDocumentation.cxx

@@ -12,17 +12,18 @@
 #include "cmDocumentation.h"
 
 #include "cmAlgorithms.h"
+#include "cmDocumentationEntry.h"
+#include "cmDocumentationSection.h"
 #include "cmRST.h"
 #include "cmSystemTools.h"
 #include "cmVersion.h"
 
-#include <cmsys/Directory.hxx>
+#include <algorithm>
 #include <cmsys/FStream.hxx>
 #include <cmsys/Glob.hxx>
-
 #include <ctype.h>
-
-#include <algorithm>
+#include <string.h>
+#include <utility>
 
 static const char* cmDocumentationStandardOptions[][2] = {
   { "--help,-help,-usage,-h,-H,/?", "Print usage information and exit." },

+ 8 - 6
Source/cmDocumentation.h

@@ -12,15 +12,17 @@
 #ifndef _cmDocumentation_h
 #define _cmDocumentation_h
 
-#include "cmStandardIncludes.h"
+#include <cmConfigure.h>
 
 #include "cmDocumentationFormatter.h"
-#include "cmDocumentationSection.h"
-#include "cmake.h"
 
-namespace cmsys {
-class Directory;
-}
+#include <iosfwd>
+#include <map>
+#include <string>
+#include <vector>
+
+class cmDocumentationSection;
+struct cmDocumentationEntry;
 
 /** Class to generate documentation.  */
 class cmDocumentation : public cmDocumentationEnums

+ 6 - 0
Source/cmDocumentationFormatter.cxx

@@ -11,8 +11,14 @@
 ============================================================================*/
 #include "cmDocumentationFormatter.h"
 
+#include "cmDocumentationEntry.h"
 #include "cmDocumentationSection.h"
 
+#include <ostream>
+#include <string.h>
+#include <string>
+#include <vector>
+
 cmDocumentationFormatter::cmDocumentationFormatter()
   : TextWidth(77)
   , TextIndent("")

+ 3 - 1
Source/cmDocumentationFormatter.h

@@ -12,7 +12,9 @@
 #ifndef _cmDocumentationFormatter_h
 #define _cmDocumentationFormatter_h
 
-#include "cmStandardIncludes.h"
+#include <cmConfigure.h> // IWYU pragma: keep
+
+#include <iosfwd>
 
 /** This is just a helper class to make it build with MSVC 6.0.
 Actually the enums and internal classes could directly go into

+ 6 - 1
Source/cmDocumentationSection.h

@@ -12,7 +12,12 @@
 #ifndef _cmDocumentationSection_h
 #define _cmDocumentationSection_h
 
-#include "cmDocumentationFormatter.h"
+#include <cmConfigure.h> // IWYU pragma: keep
+
+#include "cmDocumentationEntry.h"
+
+#include <string>
+#include <vector>
 
 // Low-level interface for custom documents:
 /** Internal class representing a section of the documentation.

+ 7 - 0
Source/cmDynamicLoader.cxx

@@ -11,6 +11,13 @@
 ============================================================================*/
 #include "cmDynamicLoader.h"
 
+#include <cmConfigure.h>
+
+#include <cmsys/DynamicLoader.hxx>
+#include <map>
+#include <string>
+#include <utility>
+
 class cmDynamicLoaderCache
 {
 public:

+ 1 - 1
Source/cmDynamicLoader.h

@@ -17,7 +17,7 @@
 #ifndef cmDynamicLoader_h
 #define cmDynamicLoader_h
 
-#include "cmStandardIncludes.h"
+#include <cmConfigure.h> // IWYU pragma: keep
 
 #include <cmsys/DynamicLoader.hxx>
 

+ 6 - 2
Source/cmELF.cxx

@@ -9,12 +9,16 @@
   implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
   See the License for more information.
 ============================================================================*/
-#include "cmStandardIncludes.h" // to get CMAKE_USE_ELF_PARSER first
-
 #include "cmELF.h"
 
 #include <cm_auto_ptr.hxx>
+#include <cm_kwiml.h>
 #include <cmsys/FStream.hxx>
+#include <map>
+#include <sstream>
+#include <stddef.h>
+#include <utility>
+#include <vector>
 
 // Include the ELF format information system header.
 #if defined(__OpenBSD__)

+ 5 - 0
Source/cmELF.h

@@ -12,6 +12,11 @@
 #ifndef cmELF_h
 #define cmELF_h
 
+#include <cmConfigure.h>
+
+#include <iosfwd>
+#include <string>
+
 #if !defined(CMAKE_USE_ELF_PARSER)
 #error "This file may be included only if CMAKE_USE_ELF_PARSER is enabled."
 #endif

+ 2 - 0
Source/cmExecutionStatus.h

@@ -12,6 +12,8 @@
 #ifndef cmExecutionStatus_h
 #define cmExecutionStatus_h
 
+#include <cmConfigure.h>
+
 #include "cmStandardIncludes.h"
 
 /** \class cmExecutionStatus

+ 2 - 0
Source/cmExpandedCommandArgument.h

@@ -12,6 +12,8 @@
 #ifndef cmExpandedCommandArgument_h
 #define cmExpandedCommandArgument_h
 
+#include <cmConfigure.h>
+
 #include "cmStandardIncludes.h"
 
 /** \class cmExpandedCommandArgument

+ 14 - 0
Source/cmExportBuildFileGenerator.cxx

@@ -12,9 +12,23 @@
 #include "cmExportBuildFileGenerator.h"
 
 #include "cmExportSet.h"
+#include "cmGeneratorExpression.h"
+#include "cmGeneratorTarget.h"
 #include "cmGlobalGenerator.h"
 #include "cmLocalGenerator.h"
+#include "cmMakefile.h"
+#include "cmPolicies.h"
+#include "cmState.h"
+#include "cmSystemTools.h"
+#include "cmTarget.h"
 #include "cmTargetExport.h"
+#include "cmake.h"
+
+#include <algorithm>
+#include <map>
+#include <set>
+#include <sstream>
+#include <utility>
 
 cmExportBuildFileGenerator::cmExportBuildFileGenerator()
 {

+ 9 - 1
Source/cmExportBuildFileGenerator.h

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

+ 9 - 4
Source/cmExportFileGenerator.cxx

@@ -13,20 +13,25 @@
 
 #include "cmAlgorithms.h"
 #include "cmComputeLinkInformation.h"
-#include "cmExportSet.h"
 #include "cmGeneratedFileStream.h"
-#include "cmGlobalGenerator.h"
-#include "cmInstallExportGenerator.h"
+#include "cmGeneratorTarget.h"
+#include "cmLinkItem.h"
 #include "cmLocalGenerator.h"
 #include "cmMakefile.h"
 #include "cmOutputConverter.h"
+#include "cmPolicies.h"
+#include "cmState.h"
 #include "cmSystemTools.h"
+#include "cmTarget.h"
 #include "cmTargetExport.h"
-#include "cmVersion.h"
+#include "cmake.h"
 
 #include <assert.h>
 #include <cm_auto_ptr.hxx>
 #include <cmsys/FStream.hxx>
+#include <sstream>
+#include <string.h>
+#include <utility>
 
 static std::string cmExportFileGeneratorEscape(std::string const& str)
 {

+ 11 - 3
Source/cmExportFileGenerator.h

@@ -12,11 +12,19 @@
 #ifndef cmExportFileGenerator_h
 #define cmExportFileGenerator_h
 
-#include "cmCommand.h"
-#include "cmGeneratorExpression.h"
+#include <cmConfigure.h> // IWYU pragma: keep
 
+#include "cmGeneratorExpression.h"
 #include "cmVersion.h"
-#include "cmVersionMacros.h"
+#include "cmVersionConfig.h"
+
+#include <iosfwd>
+#include <map>
+#include <set>
+#include <string>
+#include <vector>
+
+class cmGeneratorTarget;
 
 #define STRINGIFY_HELPER(X) #X
 #define STRINGIFY(X) STRINGIFY_HELPER(X)

+ 10 - 0
Source/cmExportInstallFileGenerator.cxx

@@ -15,12 +15,22 @@
 #include "cmExportSet.h"
 #include "cmExportSetMap.h"
 #include "cmGeneratedFileStream.h"
+#include "cmGeneratorExpression.h"
+#include "cmGeneratorTarget.h"
 #include "cmGlobalGenerator.h"
 #include "cmInstallExportGenerator.h"
 #include "cmInstallTargetGenerator.h"
 #include "cmLocalGenerator.h"
+#include "cmMakefile.h"
+#include "cmPolicies.h"
+#include "cmState.h"
+#include "cmSystemTools.h"
+#include "cmTarget.h"
 #include "cmTargetExport.h"
 
+#include <sstream>
+#include <utility>
+
 cmExportInstallFileGenerator::cmExportInstallFileGenerator(
   cmInstallExportGenerator* iegen)
   : IEGen(iegen)

+ 10 - 0
Source/cmExportInstallFileGenerator.h

@@ -12,8 +12,18 @@
 #ifndef cmExportInstallFileGenerator_h
 #define cmExportInstallFileGenerator_h
 
+#include <cmConfigure.h>
+
 #include "cmExportFileGenerator.h"
 
+#include <iosfwd>
+#include <map>
+#include <set>
+#include <string>
+#include <vector>
+
+class cmGeneratorTarget;
+class cmGlobalGenerator;
 class cmInstallExportGenerator;
 class cmInstallTargetGenerator;
 

+ 5 - 2
Source/cmExportSet.h

@@ -12,11 +12,14 @@
 #ifndef cmExportSet_h
 #define cmExportSet_h
 
-#include "cmSystemTools.h"
+#include <cmConfigure.h> // IWYU pragma: keep
+
+#include <string>
+#include <vector>
 
-class cmTargetExport;
 class cmInstallExportGenerator;
 class cmLocalGenerator;
+class cmTargetExport;
 
 /// A set of targets that were installed with the same EXPORT parameter.
 class cmExportSet

+ 2 - 0
Source/cmExportSetMap.cxx

@@ -15,6 +15,8 @@
 #include "cmAlgorithms.h"
 #include "cmExportSet.h"
 
+#include <utility>
+
 cmExportSet* cmExportSetMap::operator[](const std::string& name)
 {
   std::map<std::string, cmExportSet*>::iterator it = this->find(name);

+ 4 - 1
Source/cmExportSetMap.h

@@ -12,7 +12,10 @@
 #ifndef cmExportSetMap_h
 #define cmExportSetMap_h
 
-#include "cmSystemTools.h"
+#include <cmConfigure.h> // IWYU pragma: keep
+
+#include <map>
+#include <string>
 
 class cmExportSet;
 

+ 10 - 1
Source/cmExportTryCompileFileGenerator.cxx

@@ -12,10 +12,19 @@
 
 #include "cmExportTryCompileFileGenerator.h"
 
-#include "cmGeneratedFileStream.h"
+#include "cmGeneratorExpression.h"
 #include "cmGeneratorExpressionDAGChecker.h"
+#include "cmGeneratorTarget.h"
 #include "cmGlobalGenerator.h"
 #include "cmLocalGenerator.h"
+#include "cmMakefile.h"
+#include "cmState.h"
+#include "cmSystemTools.h"
+#include "cmTarget.h"
+#include "cm_auto_ptr.hxx"
+
+#include <map>
+#include <utility>
 
 cmExportTryCompileFileGenerator::cmExportTryCompileFileGenerator(
   cmGlobalGenerator* gg, const std::vector<std::string>& targets,

+ 10 - 2
Source/cmExportTryCompileFileGenerator.h

@@ -12,10 +12,18 @@
 #ifndef cmExportTryCompileFileGenerator_h
 #define cmExportTryCompileFileGenerator_h
 
+#include <cmConfigure.h>
+
 #include "cmExportFileGenerator.h"
 
-class cmInstallExportGenerator;
-class cmInstallTargetGenerator;
+#include <iosfwd>
+#include <set>
+#include <string>
+#include <vector>
+
+class cmGeneratorTarget;
+class cmGlobalGenerator;
+class cmMakefile;
 
 class cmExportTryCompileFileGenerator : public cmExportFileGenerator
 {

+ 2 - 0
Source/cmExprLexer.cxx

@@ -1,3 +1,5 @@
+#include <cmConfigure.h>
+
 #include "cmStandardIncludes.h"
 #line 2 "/home/andy/vtk/CMake-bin/Source/cmExprLexer.cxx"
 

+ 4 - 2
Source/cmExprParserHelper.cxx

@@ -11,11 +11,13 @@
 ============================================================================*/
 #include "cmExprParserHelper.h"
 
-#include "cmMakefile.h"
-#include "cmSystemTools.h"
+#include <cmConfigure.h>
 
 #include "cmExprLexer.h"
 
+#include <iostream>
+#include <sstream>
+
 int cmExpr_yyparse(yyscan_t yyscanner);
 //
 cmExprParserHelper::cmExprParserHelper()

+ 4 - 4
Source/cmExprParserHelper.h

@@ -12,7 +12,10 @@
 #ifndef cmExprParserHelper_h
 #define cmExprParserHelper_h
 
-#include "cmStandardIncludes.h"
+#include <cmConfigure.h> // IWYU pragma: keep
+
+#include <string>
+#include <vector>
 
 #define YYSTYPE cmExprParserHelper::ParserType
 #define YYSTYPE_IS_DECLARED
@@ -24,9 +27,6 @@
  *
  * Finds dependencies for java file and list of outputs
  */
-
-class cmMakefile;
-
 class cmExprParserHelper
 {
 public:

+ 1 - 1
Source/cmExternalMakefileProjectGenerator.cxx

@@ -12,7 +12,7 @@
 
 #include "cmExternalMakefileProjectGenerator.h"
 
-#include <assert.h>
+class cmMakefile;
 
 void cmExternalMakefileProjectGenerator::EnableLanguage(
   std::vector<std::string> const& /*unused*/, cmMakefile* /*unused*/,

+ 4 - 2
Source/cmExternalMakefileProjectGenerator.h

@@ -12,11 +12,13 @@
 #ifndef cmExternalMakefileProjectGenerator_h
 #define cmExternalMakefileProjectGenerator_h
 
-#include "cmStandardIncludes.h"
+#include <cmConfigure.h> // IWYU pragma: keep
 
-#include "cmDocumentation.h"
+#include <string>
+#include <vector>
 
 class cmGlobalGenerator;
+class cmMakefile;
 
 /** \class cmExternalMakefileProjectGenerator
  * \brief Base class for generators for "External Makefile based IDE projects".

+ 10 - 3
Source/cmExtraCodeBlocksGenerator.cxx

@@ -12,16 +12,23 @@
 ============================================================================*/
 #include "cmExtraCodeBlocksGenerator.h"
 
+#include "cmAlgorithms.h"
 #include "cmGeneratedFileStream.h"
-#include "cmGlobalUnixMakefileGenerator3.h"
-#include "cmLocalUnixMakefileGenerator3.h"
+#include "cmGeneratorTarget.h"
+#include "cmGlobalGenerator.h"
+#include "cmLocalGenerator.h"
 #include "cmMakefile.h"
 #include "cmSourceFile.h"
+#include "cmState.h"
 #include "cmSystemTools.h"
 #include "cmXMLWriter.h"
 #include "cmake.h"
 
-#include <cmsys/SystemTools.hxx>
+#include <algorithm>
+#include <map>
+#include <ostream>
+#include <string.h>
+#include <utility>
 
 /* Some useful URLs:
 Homepage:

+ 6 - 1
Source/cmExtraCodeBlocksGenerator.h

@@ -13,11 +13,16 @@
 #ifndef cmExtraCodeBlocksGenerator_h
 #define cmExtraCodeBlocksGenerator_h
 
+#include <cmConfigure.h>
+
 #include "cmExternalMakefileProjectGenerator.h"
 
+#include <string>
+#include <vector>
+
+class cmGeneratorTarget;
 class cmLocalGenerator;
 class cmMakefile;
-class cmGeneratorTarget;
 class cmXMLWriter;
 
 /** \class cmExtraCodeBlocksGenerator

+ 10 - 6
Source/cmExtraCodeLiteGenerator.cxx

@@ -14,18 +14,22 @@
 #include "cmExtraCodeLiteGenerator.h"
 
 #include "cmGeneratedFileStream.h"
-#include "cmGlobalUnixMakefileGenerator3.h"
-#include "cmLocalUnixMakefileGenerator3.h"
+#include "cmGeneratorTarget.h"
+#include "cmGlobalGenerator.h"
+#include "cmLocalGenerator.h"
 #include "cmMakefile.h"
 #include "cmSourceFile.h"
+#include "cmState.h"
 #include "cmSystemTools.h"
+#include "cmXMLWriter.h"
 #include "cmake.h"
 
-#include "cmStandardIncludes.h"
-#include "cmXMLWriter.h"
-#include <cmsys/Directory.hxx>
 #include <cmsys/SystemInformation.hxx>
-#include <cmsys/SystemTools.hxx>
+#include <map>
+#include <set>
+#include <sstream>
+#include <string.h>
+#include <utility>
 
 cmExtraCodeLiteGenerator::cmExtraCodeLiteGenerator()
   : cmExternalMakefileProjectGenerator()

+ 6 - 0
Source/cmExtraCodeLiteGenerator.h

@@ -14,9 +14,15 @@
 #ifndef cmGlobalCodeLiteGenerator_h
 #define cmGlobalCodeLiteGenerator_h
 
+#include <cmConfigure.h>
+
 #include "cmExternalMakefileProjectGenerator.h"
 
+#include <string>
+#include <vector>
+
 class cmLocalGenerator;
+class cmMakefile;
 
 class cmExtraCodeLiteGenerator : public cmExternalMakefileProjectGenerator
 {

+ 14 - 5
Source/cmExtraEclipseCDT4Generator.cxx

@@ -14,17 +14,26 @@
 #include "cmExtraEclipseCDT4Generator.h"
 
 #include "cmGeneratedFileStream.h"
-#include "cmGlobalUnixMakefileGenerator3.h"
-#include "cmLocalUnixMakefileGenerator3.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"
-#include "cmTarget.h"
+#include "cmSystemTools.h"
 #include "cmXMLWriter.h"
+#include "cmake.h"
 
-#include "cmSystemTools.h"
+#include <algorithm>
 #include <assert.h>
-#include <stdlib.h>
+#include <cmsys/RegularExpression.hxx>
+#include <map>
+#include <sstream>
+#include <stdio.h>
+#include <utility>
 
 static void AppendAttribute(cmXMLWriter& xml, const char* keyval)
 {

+ 9 - 1
Source/cmExtraEclipseCDT4Generator.h

@@ -14,11 +14,19 @@
 #ifndef cmExtraEclipseCDT4Generator_h
 #define cmExtraEclipseCDT4Generator_h
 
+#include <cmConfigure.h>
+
 #include "cmExternalMakefileProjectGenerator.h"
 
+#include <iosfwd>
+#include <set>
+#include <string>
+#include <vector>
+
+class cmLocalGenerator;
 class cmMakefile;
-class cmXMLWriter;
 class cmSourceGroup;
+class cmXMLWriter;
 
 /** \class cmExtraEclipseCDT4Generator
  * \brief Write Eclipse project files for Makefile based projects

+ 8 - 4
Source/cmExtraKateGenerator.cxx

@@ -13,14 +13,18 @@
 #include "cmExtraKateGenerator.h"
 
 #include "cmGeneratedFileStream.h"
-#include "cmGlobalUnixMakefileGenerator3.h"
-#include "cmLocalUnixMakefileGenerator3.h"
+#include "cmGeneratorTarget.h"
+#include "cmGlobalGenerator.h"
+#include "cmLocalGenerator.h"
 #include "cmMakefile.h"
 #include "cmSourceFile.h"
+#include "cmState.h"
 #include "cmSystemTools.h"
-#include "cmake.h"
 
-#include <cmsys/SystemTools.hxx>
+#include <ostream>
+#include <set>
+#include <string.h>
+#include <vector>
 
 cmExtraKateGenerator::cmExtraKateGenerator()
   : cmExternalMakefileProjectGenerator()

+ 5 - 1
Source/cmExtraKateGenerator.h

@@ -13,10 +13,14 @@
 #ifndef cmExtraKateGenerator_h
 #define cmExtraKateGenerator_h
 
+#include <cmConfigure.h>
+
 #include "cmExternalMakefileProjectGenerator.h"
 
-class cmLocalGenerator;
+#include <string>
+
 class cmGeneratedFileStream;
+class cmLocalGenerator;
 
 /** \class cmExtraKateGenerator
  * \brief Write Kate project files for Makefile or ninja based projects

+ 7 - 4
Source/cmExtraSublimeTextGenerator.cxx

@@ -14,15 +14,18 @@
 
 #include "cmGeneratedFileStream.h"
 #include "cmGeneratorTarget.h"
-#include "cmGlobalUnixMakefileGenerator3.h"
+#include "cmGlobalGenerator.h"
 #include "cmLocalGenerator.h"
-#include "cmLocalUnixMakefileGenerator3.h"
 #include "cmMakefile.h"
 #include "cmSourceFile.h"
+#include "cmState.h"
 #include "cmSystemTools.h"
-#include "cmake.h"
 
-#include <cmsys/SystemTools.hxx>
+#include <cmsys/RegularExpression.hxx>
+#include <ostream>
+#include <set>
+#include <string.h>
+#include <utility>
 
 /*
 Sublime Text 2 Generator

+ 9 - 3
Source/cmExtraSublimeTextGenerator.h

@@ -13,13 +13,19 @@
 #ifndef cmExtraSublimeTextGenerator_h
 #define cmExtraSublimeTextGenerator_h
 
+#include <cmConfigure.h>
+
 #include "cmExternalMakefileProjectGenerator.h"
-#include "cmSourceFile.h"
 
-class cmLocalGenerator;
-class cmMakefile;
+#include <map>
+#include <string>
+#include <vector>
+
 class cmGeneratedFileStream;
 class cmGeneratorTarget;
+class cmLocalGenerator;
+class cmMakefile;
+class cmSourceFile;
 
 /** \class cmExtraSublimeTextGenerator
  * \brief Write Sublime Text 2 project files for Makefile based projects

+ 3 - 1
Source/cmFileLock.h

@@ -13,7 +13,9 @@
 #ifndef cmFileLock_h
 #define cmFileLock_h
 
-#include "cmStandardIncludes.h"
+#include <cmConfigure.h> // IWYU pragma: keep
+
+#include <string>
 
 #if defined(_WIN32)
 #include <windows.h> // HANDLE

+ 3 - 2
Source/cmFileLockPool.h

@@ -12,12 +12,13 @@
 #ifndef cmFileLockPool_h
 #define cmFileLockPool_h
 
-#include "cmStandardIncludes.h"
+#include <cmConfigure.h> // IWYU pragma: keep
 
 #include <list>
+#include <string>
 
-class cmFileLockResult;
 class cmFileLock;
+class cmFileLockResult;
 
 class cmFileLockPool
 {

+ 1 - 0
Source/cmFileLockResult.cxx

@@ -13,6 +13,7 @@
 #include "cmFileLockResult.h"
 
 #include <errno.h>
+#include <string.h>
 
 cmFileLockResult cmFileLockResult::MakeOk()
 {

+ 3 - 1
Source/cmFileLockResult.h

@@ -13,7 +13,9 @@
 #ifndef cmFileLockResult_h
 #define cmFileLockResult_h
 
-#include "cmStandardIncludes.h"
+#include <cmConfigure.h> // IWYU pragma: keep
+
+#include <string>
 
 #if defined(_WIN32)
 #include <windows.h> // DWORD

+ 2 - 0
Source/cmFilePathUuid.cxx

@@ -17,6 +17,8 @@
 #include "cmMakefile.h"
 #include "cmSystemTools.h"
 
+#include <vector>
+
 cmFilePathUuid::cmFilePathUuid(cmMakefile* makefile)
 {
   initParentDirs(makefile->GetCurrentSourceDirectory(),

+ 2 - 1
Source/cmFilePathUuid.h

@@ -13,8 +13,9 @@
 #ifndef cmFilePathUuid_h
 #define cmFilePathUuid_h
 
-#include "cmStandardIncludes.h"
+#include <cmConfigure.h> // IWYU pragma: keep
 
+#include <stddef.h>
 #include <string>
 #include <utility>
 

+ 8 - 5
Source/cmFileTimeComparison.cxx

@@ -11,6 +11,11 @@
 ============================================================================*/
 #include "cmFileTimeComparison.h"
 
+#include <cmConfigure.h>
+#include <string>
+#include <time.h>
+#include <utility>
+
 // Use a hash table to avoid duplicate file time checks from disk.
 #if defined(CMAKE_BUILD_WITH_CMAKE)
 #ifdef CMake_HAVE_CXX_UNORDERED_MAP
@@ -20,16 +25,14 @@
 #endif
 #endif
 
-#include <cmsys/Encoding.hxx>
-
 // Use a platform-specific API to get file times efficiently.
 #if !defined(_WIN32) || defined(__CYGWIN__)
-#define cmFileTimeComparison_Type struct stat
-#include <ctype.h>
 #include <sys/stat.h>
+#define cmFileTimeComparison_Type struct stat
 #else
-#define cmFileTimeComparison_Type FILETIME
+#include <cmsys/Encoding.hxx>
 #include <windows.h>
+#define cmFileTimeComparison_Type FILETIME
 #endif
 
 class cmFileTimeComparisonInternal

+ 1 - 1
Source/cmFileTimeComparison.h

@@ -12,7 +12,7 @@
 #ifndef cmFileTimeComparison_h
 #define cmFileTimeComparison_h
 
-#include "cmStandardIncludes.h"
+#include <cmConfigure.h> // IWYU pragma: keep
 
 class cmFileTimeComparisonInternal;
 

+ 2 - 0
Source/cmFortranParser.h

@@ -13,6 +13,8 @@
 #define cmFortranParser_h
 
 #if !defined(cmFortranLexer_cxx) && !defined(cmFortranParser_cxx)
+#include <cmConfigure.h>
+
 #include "cmStandardIncludes.h"
 #endif
 

+ 8 - 1
Source/cmFortranParserImpl.cxx

@@ -10,9 +10,16 @@
   See the License for more information.
 ============================================================================*/
 #include "cmFortranParser.h"
-
+#include "cmFortranLexer.h"
 #include "cmSystemTools.h"
+
 #include <assert.h>
+#include <cmConfigure.h>
+#include <set>
+#include <stack>
+#include <stdio.h>
+#include <string>
+#include <vector>
 
 bool cmFortranParser_s::FindIncludeFile(const char* dir,
                                         const char* includeName,

+ 2 - 0
Source/cmFunctionBlocker.h

@@ -12,6 +12,8 @@
 #ifndef cmFunctionBlocker_h
 #define cmFunctionBlocker_h
 
+#include <cmConfigure.h>
+
 #include "cmStandardIncludes.h"
 
 #include "cmExecutionStatus.h"

+ 2 - 0
Source/cmGeneratedFileStream.cxx

@@ -13,6 +13,8 @@
 
 #include "cmSystemTools.h"
 
+#include <stdio.h>
+
 #if defined(CMAKE_BUILD_WITH_CMAKE)
 #include <cm_zlib.h>
 #endif

+ 2 - 1
Source/cmGeneratedFileStream.h

@@ -12,9 +12,10 @@
 #ifndef cmGeneratedFileStream_h
 #define cmGeneratedFileStream_h
 
-#include "cmStandardIncludes.h"
+#include <cmConfigure.h>
 
 #include <cmsys/FStream.hxx>
+#include <string>
 
 // This is the first base class of cmGeneratedFileStream.  It will be
 // created before and destroyed after the ofstream portion and can

+ 5 - 3
Source/cmGeneratorExpression.cxx

@@ -13,12 +13,14 @@
 
 #include "assert.h"
 #include "cmAlgorithms.h"
-#include "cmSystemTools.h"
-
-#include "cmGeneratorExpressionDAGChecker.h"
+#include "cmGeneratorExpressionContext.h"
 #include "cmGeneratorExpressionEvaluator.h"
 #include "cmGeneratorExpressionLexer.h"
 #include "cmGeneratorExpressionParser.h"
+#include "cmSystemTools.h"
+
+#include <cmsys/RegularExpression.hxx>
+#include <utility>
 
 cmGeneratorExpression::cmGeneratorExpression(
   const cmListFileBacktrace& backtrace)

+ 7 - 7
Source/cmGeneratorExpression.h

@@ -13,22 +13,22 @@
 #ifndef cmGeneratorExpression_h
 #define cmGeneratorExpression_h
 
-#include "cmStandardIncludes.h"
+#include <cmConfigure.h>
 
 #include "cmListFileCache.h"
 
 #include <cm_auto_ptr.hxx>
-#include <cmsys/RegularExpression.hxx>
+#include <map>
+#include <set>
+#include <string>
+#include <vector>
 
+class cmCompiledGeneratorExpression;
 class cmGeneratorTarget;
 class cmLocalGenerator;
-class cmListFileBacktrace;
-
-struct cmGeneratorExpressionEvaluator;
 struct cmGeneratorExpressionContext;
 struct cmGeneratorExpressionDAGChecker;
-
-class cmCompiledGeneratorExpression;
+struct cmGeneratorExpressionEvaluator;
 
 /** \class cmGeneratorExpression
  * \brief Evaluate generate-time query expression syntax.

+ 0 - 2
Source/cmGeneratorExpressionContext.cxx

@@ -12,8 +12,6 @@
 
 #include "cmGeneratorExpressionContext.h"
 
-#include "cmGeneratorTarget.h"
-
 cmGeneratorExpressionContext::cmGeneratorExpressionContext(
   cmLocalGenerator* lg, std::string const& config, bool quiet,
   cmGeneratorTarget const* headTarget, const cmGeneratorTarget* currentTarget,

+ 8 - 0
Source/cmGeneratorExpressionDAGChecker.cxx

@@ -13,7 +13,15 @@
 #include "cmGeneratorExpressionDAGChecker.h"
 
 #include "cmAlgorithms.h"
+#include "cmGeneratorExpressionContext.h"
+#include "cmGeneratorExpressionEvaluator.h"
+#include "cmGeneratorTarget.h"
 #include "cmLocalGenerator.h"
+#include "cmake.h"
+
+#include <sstream>
+#include <string.h>
+#include <utility>
 
 cmGeneratorExpressionDAGChecker::cmGeneratorExpressionDAGChecker(
   const cmListFileBacktrace& backtrace, const std::string& target,

+ 9 - 2
Source/cmGeneratorExpressionDAGChecker.h

@@ -12,9 +12,16 @@
 #ifndef cmGeneratorExpressionDAGChecker_h
 #define cmGeneratorExpressionDAGChecker_h
 
-#include "cmStandardIncludes.h"
+#include <cmConfigure.h>
 
-#include "cmGeneratorExpressionEvaluator.h"
+#include "cmListFileCache.h"
+
+#include <map>
+#include <set>
+#include <string>
+
+struct GeneratorExpressionContent;
+struct cmGeneratorExpressionContext;
 
 #define CM_SELECT_BOTH(F, A1, A2) F(A1, A2)
 #define CM_SELECT_FIRST(F, A1, A2) F(A1)

+ 7 - 2
Source/cmGeneratorExpressionEvaluationFile.cxx

@@ -14,12 +14,17 @@
 
 #include "cmGeneratedFileStream.h"
 #include "cmGlobalGenerator.h"
+#include "cmListFileCache.h"
 #include "cmLocalGenerator.h"
 #include "cmMakefile.h"
 #include "cmSourceFile.h"
-#include <cmsys/FStream.hxx>
+#include "cmSystemTools.h"
+#include "cmake.h"
 
-#include <assert.h>
+#include <cmConfigure.h>
+#include <cmsys/FStream.hxx>
+#include <sstream>
+#include <utility>
 
 cmGeneratorExpressionEvaluationFile::cmGeneratorExpressionEvaluationFile(
   const std::string& input,

+ 5 - 0
Source/cmGeneratorExpressionEvaluationFile.h

@@ -12,10 +12,15 @@
 #ifndef cmGeneratorExpressionEvaluationFile_h
 #define cmGeneratorExpressionEvaluationFile_h
 
+#include <cmConfigure.h> // IWYU pragma: keep
+
 #include "cmGeneratorExpression.h"
 
 #include <cm_auto_ptr.hxx>
+#include <map>
+#include <string>
 #include <sys/types.h>
+#include <vector>
 
 class cmLocalGenerator;
 

+ 4 - 13
Source/cmGeneratorExpressionEvaluator.cxx

@@ -12,21 +12,12 @@
 #include "cmGeneratorExpressionEvaluator.h"
 
 #include "cmAlgorithms.h"
-#include "cmGeneratorExpression.h"
-#include "cmGeneratorExpressionDAGChecker.h"
-#include "cmGeneratorExpressionParser.h"
-#include "cmGlobalGenerator.h"
-#include "cmLocalGenerator.h"
-#include "cmMakefile.h"
-#include "cmSourceFile.h"
-
-#include <cmsys/String.h>
-
-#include <assert.h>
-#include <errno.h>
-
+#include "cmGeneratorExpressionContext.h"
 #include "cmGeneratorExpressionNode.h"
 
+#include <algorithm>
+#include <sstream>
+
 GeneratorExpressionContent::GeneratorExpressionContent(
   const char* startContent, size_t length)
   : StartContent(startContent)

+ 3 - 3
Source/cmGeneratorExpressionEvaluator.h

@@ -12,13 +12,13 @@
 #ifndef cmGeneratorExpressionEvaluator_h
 #define cmGeneratorExpressionEvaluator_h
 
-#include "cmGeneratorExpressionContext.h"
-
-#include "cmListFileCache.h"
+#include <cmConfigure.h>
 
+#include <stddef.h>
 #include <string>
 #include <vector>
 
+struct cmGeneratorExpressionContext;
 struct cmGeneratorExpressionDAGChecker;
 struct cmGeneratorExpressionNode;
 

+ 3 - 1
Source/cmGeneratorExpressionLexer.h

@@ -12,8 +12,10 @@
 #ifndef cmGeneratorExpressionLexer_h
 #define cmGeneratorExpressionLexer_h
 
-#include "cmStandardIncludes.h"
+#include <cmConfigure.h> // IWYU pragma: keep
 
+#include <stddef.h>
+#include <string>
 #include <vector>
 
 struct cmGeneratorExpressionToken

+ 31 - 5
Source/cmGeneratorExpressionNode.cxx

@@ -13,9 +13,36 @@
 #include "cmGeneratorExpressionNode.h"
 
 #include "cmAlgorithms.h"
+#include "cmGeneratorExpression.h"
+#include "cmGeneratorExpressionContext.h"
+#include "cmGeneratorExpressionDAGChecker.h"
+#include "cmGeneratorExpressionEvaluator.h"
+#include "cmGeneratorTarget.h"
 #include "cmGlobalGenerator.h"
+#include "cmLinkItem.h"
+#include "cmLocalGenerator.h"
 #include "cmMakefile.h"
 #include "cmOutputConverter.h"
+#include "cmPolicies.h"
+#include "cmSourceFile.h"
+#include "cmState.h"
+#include "cmSystemTools.h"
+#include "cmTarget.h"
+#include "cm_auto_ptr.hxx"
+#include "cmake.h"
+
+#include <algorithm>
+#include <assert.h>
+#include <cmConfigure.h>
+#include <cmsys/RegularExpression.hxx>
+#include <cmsys/String.h>
+#include <errno.h>
+#include <map>
+#include <set>
+#include <sstream>
+#include <stdlib.h>
+#include <string.h>
+#include <utility>
 
 std::string cmGeneratorExpressionNode::EvaluateDependentExpression(
   std::string const& prop, cmLocalGenerator* lg,
@@ -1455,13 +1482,12 @@ static const struct InstallPrefixNode : public cmGeneratorExpressionNode
 
 } installPrefixNode;
 
-class ArtifactNameTag;
+class ArtifactDirTag;
 class ArtifactLinkerTag;
-class ArtifactSonameTag;
-class ArtifactPdbTag;
-
+class ArtifactNameTag;
 class ArtifactPathTag;
-class ArtifactDirTag;
+class ArtifactPdbTag;
+class ArtifactSonameTag;
 
 template <typename ArtifactT>
 struct TargetFilesystemArtifactResultCreator

+ 8 - 12
Source/cmGeneratorExpressionNode.h

@@ -12,20 +12,16 @@
 #ifndef cmGeneratorExpressionNode_h
 #define cmGeneratorExpressionNode_h
 
-#include "cmGeneratorExpression.h"
+#include <cmConfigure.h> // IWYU pragma: keep
 
-#include "cmGeneratorExpressionDAGChecker.h"
-#include "cmGeneratorExpressionEvaluator.h"
-#include "cmGeneratorExpressionParser.h"
-#include "cmLocalGenerator.h"
-#include "cmSourceFile.h"
+#include <string>
+#include <vector>
 
-#include <cmsys/String.h>
-
-#include <assert.h>
-#include <errno.h>
-
-#include "cmListFileCache.h"
+class cmGeneratorTarget;
+class cmLocalGenerator;
+struct GeneratorExpressionContent;
+struct cmGeneratorExpressionContext;
+struct cmGeneratorExpressionDAGChecker;
 
 struct cmGeneratorExpressionNode
 {

+ 2 - 1
Source/cmGeneratorExpressionParser.cxx

@@ -14,7 +14,8 @@
 
 #include "cmGeneratorExpressionEvaluator.h"
 
-#include "assert.h"
+#include <assert.h>
+#include <stddef.h>
 
 cmGeneratorExpressionParser::cmGeneratorExpressionParser(
   const std::vector<cmGeneratorExpressionToken>& tokens)

+ 2 - 3
Source/cmGeneratorExpressionParser.h

@@ -12,12 +12,11 @@
 #ifndef cmGeneratorExpressionParser_h
 #define cmGeneratorExpressionParser_h
 
-#include "cmGeneratorExpressionLexer.h"
+#include <cmConfigure.h> // IWYU pragma: keep
 
-#include <set>
 #include <vector>
 
-#include "cmListFileCache.h"
+#include "cmGeneratorExpressionLexer.h"
 
 struct cmGeneratorExpressionEvaluator;
 

+ 17 - 3
Source/cmGeneratorTarget.cxx

@@ -13,19 +13,33 @@
 
 #include "cmAlgorithms.h"
 #include "cmComputeLinkInformation.h"
+#include "cmCustomCommand.h"
 #include "cmCustomCommandGenerator.h"
+#include "cmCustomCommandLines.h"
 #include "cmGeneratorExpression.h"
 #include "cmGeneratorExpressionDAGChecker.h"
 #include "cmGlobalGenerator.h"
 #include "cmLocalGenerator.h"
 #include "cmMakefile.h"
+#include "cmPropertyMap.h"
 #include "cmSourceFile.h"
+#include "cmSourceFileLocation.h"
+#include "cmSystemTools.h"
 #include "cmTarget.h"
+#include "cmTargetLinkLibraryType.h"
+#include "cm_auto_ptr.hxx"
+#include "cmake.h"
 
-#include <queue>
-
-#include "assert.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>
 
 #if defined(CMake_HAVE_CXX_UNORDERED_SET)
 #include <unordered_set>

Some files were not shown because too many files changed in this diff