/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying file Copyright.txt or https://cmake.org/licensing for details. */ #ifndef cmStateTypes_h #define cmStateTypes_h #include "cmConfigure.h" // IWYU pragma: keep #include "cmLinkedTree.h" namespace cmStateDetail { struct SnapshotDataType; typedef cmLinkedTree::iterator PositionType; } namespace cmStateEnums { enum SnapshotType { BaseType, BuildsystemDirectoryType, FunctionCallType, MacroCallType, IncludeFileType, InlineListFileType, PolicyScopeType, VariableScopeType }; // There are multiple overlapping ranges represented here. Be aware that adding // a value to this enumeration may cause failures in numerous places which // assume details about the ordering. enum TargetType { EXECUTABLE, STATIC_LIBRARY, SHARED_LIBRARY, MODULE_LIBRARY, OBJECT_LIBRARY, UTILITY, GLOBAL_TARGET, INTERFACE_LIBRARY, UNKNOWN_LIBRARY }; enum CacheEntryType { BOOL = 0, PATH, FILEPATH, STRING, INTERNAL, STATIC, UNINITIALIZED }; enum ArtifactType { RuntimeBinaryArtifact, ImportLibraryArtifact }; } #endif