summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2016-06-16 13:46:49 (GMT)
committerCMake Topic Stage <kwrobot@kitware.com>2016-06-16 13:46:49 (GMT)
commit290913fab871eddee22e6ebadd3eb7ef48c1485b (patch)
treec6d8384ecb298239904d308d78729c7220fb40e0
parent84c0fdb192ccdad66dc00064b6113d7a1e63944a (diff)
parent1c2c629769e1bca0cee9e25293c88bfa060e692b (diff)
downloadCMake-290913fab871eddee22e6ebadd3eb7ef48c1485b.zip
CMake-290913fab871eddee22e6ebadd3eb7ef48c1485b.tar.gz
CMake-290913fab871eddee22e6ebadd3eb7ef48c1485b.tar.bz2
Merge topic 'iwyu-preparation'
1c2c6297 cmTargetLinkLibraryType: Extract from cmStandardIncludes.h ffdc0a8e cmTypeMacro: Extract from cmStandardIncludes.h e4eb88e2 cmCustomCommandLines: Extract from cmStandardIncludes.h 535ec2bf cmDocumentationEntry: Extract from cmStandardIncludes c3819aca cmConfigure.h: Establish as 'include first' file
-rw-r--r--Source/cmConfigure.cmake.h.in17
-rw-r--r--Source/cmCustomCommandLines.h38
-rw-r--r--Source/cmDocumentationEntry.h45
-rw-r--r--Source/cmStandardIncludes.h88
-rw-r--r--Source/cmTargetLinkLibraryType.h22
-rw-r--r--Source/cmTypeMacro.h37
6 files changed, 163 insertions, 84 deletions
diff --git a/Source/cmConfigure.cmake.h.in b/Source/cmConfigure.cmake.h.in
index 11ff00b..938b10e 100644
--- a/Source/cmConfigure.cmake.h.in
+++ b/Source/cmConfigure.cmake.h.in
@@ -9,6 +9,21 @@
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the License for more information.
============================================================================*/
+#ifndef cmConfigure_h
+#define cmConfigure_h
+
+#include <cmsys/Configure.hxx>
+
+#ifdef _MSC_VER
+#pragma warning(disable : 4786)
+#pragma warning(disable : 4503)
+#endif
+
+#ifdef __ICL
+#pragma warning(disable : 985)
+#pragma warning(disable : 1572) /* floating-point equality test */
+#endif
+
#cmakedefine HAVE_ENVIRON_NOT_REQUIRE_PROTOTYPE
#cmakedefine HAVE_UNSETENV
#cmakedefine CMAKE_USE_ELF_PARSER
@@ -17,3 +32,5 @@
#cmakedefine CMake_HAVE_CXX11_UNORDERED_MAP
#define CMAKE_BIN_DIR "/@CMAKE_BIN_DIR@"
#define CMAKE_DATA_DIR "/@CMAKE_DATA_DIR@"
+
+#endif
diff --git a/Source/cmCustomCommandLines.h b/Source/cmCustomCommandLines.h
new file mode 100644
index 0000000..c67550e
--- /dev/null
+++ b/Source/cmCustomCommandLines.h
@@ -0,0 +1,38 @@
+/*============================================================================
+ CMake - Cross Platform Makefile Generator
+ Copyright 2000-2009 Kitware, Inc., Insight Software Consortium
+
+ Distributed under the OSI-approved BSD License (the "License");
+ see accompanying file Copyright.txt for details.
+
+ This software is distributed WITHOUT ANY WARRANTY; without even the
+ implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ See the License for more information.
+============================================================================*/
+#ifndef cmCustomCommandLines_h
+#define cmCustomCommandLines_h
+
+#include <cmConfigure.h> // IWYU pragma: keep
+
+#include <string>
+#include <vector>
+
+/** Data structure to represent a single command line. */
+class cmCustomCommandLine : public std::vector<std::string>
+{
+public:
+ typedef std::vector<std::string> Superclass;
+ typedef Superclass::iterator iterator;
+ typedef Superclass::const_iterator const_iterator;
+};
+
+/** Data structure to represent a list of command lines. */
+class cmCustomCommandLines : public std::vector<cmCustomCommandLine>
+{
+public:
+ typedef std::vector<cmCustomCommandLine> Superclass;
+ typedef Superclass::iterator iterator;
+ typedef Superclass::const_iterator const_iterator;
+};
+
+#endif
diff --git a/Source/cmDocumentationEntry.h b/Source/cmDocumentationEntry.h
new file mode 100644
index 0000000..f50839e
--- /dev/null
+++ b/Source/cmDocumentationEntry.h
@@ -0,0 +1,45 @@
+/*============================================================================
+ CMake - Cross Platform Makefile Generator
+ Copyright 2000-2009 Kitware, Inc., Insight Software Consortium
+
+ Distributed under the OSI-approved BSD License (the "License");
+ see accompanying file Copyright.txt for details.
+
+ This software is distributed WITHOUT ANY WARRANTY; without even the
+ implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ See the License for more information.
+============================================================================*/
+#ifndef cmDocumentationEntry_h
+#define cmDocumentationEntry_h
+
+#include <cmConfigure.h> // IWYU pragma: keep
+
+#include <string>
+
+/** Standard documentation entry for cmDocumentation's formatting. */
+struct cmDocumentationEntry
+{
+ std::string Name;
+ std::string Brief;
+ cmDocumentationEntry() {}
+ cmDocumentationEntry(const char* doc[2])
+ {
+ if (doc[0]) {
+ this->Name = doc[0];
+ }
+ if (doc[1]) {
+ this->Brief = doc[1];
+ }
+ }
+ cmDocumentationEntry(const char* n, const char* b)
+ {
+ if (n) {
+ this->Name = n;
+ }
+ if (b) {
+ this->Brief = b;
+ }
+ }
+};
+
+#endif
diff --git a/Source/cmStandardIncludes.h b/Source/cmStandardIncludes.h
index d3bf301..606978e 100644
--- a/Source/cmStandardIncludes.h
+++ b/Source/cmStandardIncludes.h
@@ -18,18 +18,6 @@
#include <cmConfigure.h>
-#include <cmsys/Configure.hxx>
-
-#ifdef _MSC_VER
-#pragma warning(disable : 4786)
-#pragma warning(disable : 4503)
-#endif
-
-#ifdef __ICL
-#pragma warning(disable : 985)
-#pragma warning(disable : 1572) /* floating-point equality test */
-#endif
-
// Provide fixed-size integer types.
#include <cm_kwiml.h>
@@ -67,77 +55,9 @@ typedef unsigned short mode_t;
/* Poison this operator to avoid common mistakes. */
extern void operator<<(std::ostream&, const std::ostringstream&);
-/** Standard documentation entry for cmDocumentation's formatting. */
-struct cmDocumentationEntry
-{
- std::string Name;
- std::string Brief;
- cmDocumentationEntry() {}
- cmDocumentationEntry(const char* doc[2])
- {
- if (doc[0]) {
- this->Name = doc[0];
- }
- if (doc[1]) {
- this->Brief = doc[1];
- }
- }
- cmDocumentationEntry(const char* n, const char* b)
- {
- if (n) {
- this->Name = n;
- }
- if (b) {
- this->Brief = b;
- }
- }
-};
-
-/** Data structure to represent a single command line. */
-class cmCustomCommandLine : public std::vector<std::string>
-{
-public:
- typedef std::vector<std::string> Superclass;
- typedef Superclass::iterator iterator;
- typedef Superclass::const_iterator const_iterator;
-};
-
-/** Data structure to represent a list of command lines. */
-class cmCustomCommandLines : public std::vector<cmCustomCommandLine>
-{
-public:
- typedef std::vector<cmCustomCommandLine> Superclass;
- typedef Superclass::iterator iterator;
- typedef Superclass::const_iterator const_iterator;
-};
-
-// All subclasses of cmCommand or cmCTestGenericHandler should
-// invoke this macro.
-#define cmTypeMacro(thisClass, superclass) \
- virtual const char* GetNameOfClass() { return #thisClass; } \
- typedef superclass Superclass; \
- static bool IsTypeOf(const char* type) \
- { \
- if (!strcmp(#thisClass, type)) { \
- return true; \
- } \
- return Superclass::IsTypeOf(type); \
- } \
- virtual bool IsA(const char* type) { return thisClass::IsTypeOf(type); } \
- static thisClass* SafeDownCast(cmObject* c) \
- { \
- if (c && c->IsA(#thisClass)) { \
- return static_cast<thisClass*>(c); \
- } \
- return 0; \
- } \
- class cmTypeMacro_UseTrailingSemicolon
-
-enum cmTargetLinkLibraryType
-{
- GENERAL_LibraryType,
- DEBUG_LibraryType,
- OPTIMIZED_LibraryType
-};
+#include "cmCustomCommandLines.h"
+#include "cmDocumentationEntry.h"
+#include "cmTargetLinkLibraryType.h"
+#include "cmTypeMacro.h"
#endif
diff --git a/Source/cmTargetLinkLibraryType.h b/Source/cmTargetLinkLibraryType.h
new file mode 100644
index 0000000..71ac9e7
--- /dev/null
+++ b/Source/cmTargetLinkLibraryType.h
@@ -0,0 +1,22 @@
+/*============================================================================
+ CMake - Cross Platform Makefile Generator
+ Copyright 2000-2009 Kitware, Inc., Insight Software Consortium
+
+ Distributed under the OSI-approved BSD License (the "License");
+ see accompanying file Copyright.txt for details.
+
+ This software is distributed WITHOUT ANY WARRANTY; without even the
+ implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ See the License for more information.
+============================================================================*/
+#ifndef cmTargetLinkLibraryType_h
+#define cmTargetLinkLibraryType_h
+
+enum cmTargetLinkLibraryType
+{
+ GENERAL_LibraryType,
+ DEBUG_LibraryType,
+ OPTIMIZED_LibraryType
+};
+
+#endif
diff --git a/Source/cmTypeMacro.h b/Source/cmTypeMacro.h
new file mode 100644
index 0000000..5c534c3
--- /dev/null
+++ b/Source/cmTypeMacro.h
@@ -0,0 +1,37 @@
+/*============================================================================
+ CMake - Cross Platform Makefile Generator
+ Copyright 2000-2009 Kitware, Inc., Insight Software Consortium
+
+ Distributed under the OSI-approved BSD License (the "License");
+ see accompanying file Copyright.txt for details.
+
+ This software is distributed WITHOUT ANY WARRANTY; without even the
+ implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ See the License for more information.
+============================================================================*/
+#ifndef cmTypeMacro_h
+#define cmTypeMacro_h
+
+// All subclasses of cmCommand or cmCTestGenericHandler should
+// invoke this macro.
+#define cmTypeMacro(thisClass, superclass) \
+ virtual const char* GetNameOfClass() { return #thisClass; } \
+ typedef superclass Superclass; \
+ static bool IsTypeOf(const char* type) \
+ { \
+ if (!strcmp(#thisClass, type)) { \
+ return true; \
+ } \
+ return Superclass::IsTypeOf(type); \
+ } \
+ virtual bool IsA(const char* type) { return thisClass::IsTypeOf(type); } \
+ static thisClass* SafeDownCast(cmObject* c) \
+ { \
+ if (c && c->IsA(#thisClass)) { \
+ return static_cast<thisClass*>(c); \
+ } \
+ return 0; \
+ } \
+ class cmTypeMacro_UseTrailingSemicolon
+
+#endif