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