cmStateTypes.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
  2. file Copyright.txt or https://cmake.org/licensing for details. */
  3. #ifndef cmStateTypes_h
  4. #define cmStateTypes_h
  5. #include "cmConfigure.h" // IWYU pragma: keep
  6. #include "cmLinkedTree.h"
  7. namespace cmStateDetail {
  8. struct SnapshotDataType;
  9. typedef cmLinkedTree<cmStateDetail::SnapshotDataType>::iterator PositionType;
  10. }
  11. namespace cmStateEnums {
  12. enum SnapshotType
  13. {
  14. BaseType,
  15. BuildsystemDirectoryType,
  16. FunctionCallType,
  17. MacroCallType,
  18. IncludeFileType,
  19. InlineListFileType,
  20. PolicyScopeType,
  21. VariableScopeType
  22. };
  23. // There are multiple overlapping ranges represented here. Be aware that adding
  24. // a value to this enumeration may cause failures in numerous places which
  25. // assume details about the ordering.
  26. enum TargetType
  27. {
  28. EXECUTABLE,
  29. STATIC_LIBRARY,
  30. SHARED_LIBRARY,
  31. MODULE_LIBRARY,
  32. OBJECT_LIBRARY,
  33. UTILITY,
  34. GLOBAL_TARGET,
  35. INTERFACE_LIBRARY,
  36. UNKNOWN_LIBRARY
  37. };
  38. enum CacheEntryType
  39. {
  40. BOOL = 0,
  41. PATH,
  42. FILEPATH,
  43. STRING,
  44. INTERNAL,
  45. STATIC,
  46. UNINITIALIZED
  47. };
  48. enum ArtifactType
  49. {
  50. RuntimeBinaryArtifact,
  51. ImportLibraryArtifact
  52. };
  53. }
  54. #endif