1+ """
2+ .. seealso::
3+ - https://cmake.org/cmake/help/latest/manual/cmake-file-api.7.html#object-kind-cmakefiles
4+ """
5+
16import dataclasses
7+ from dataclasses import field
28from pathlib import Path
3- from typing import List
9+ from typing import List , Union
410
5- from ._common import Paths
11+ from ..._compat .typing import TypeAlias
12+ from ._common import APIVersion , ObjectKind , Paths
613
7- __all__ = ["CMakeFiles" , "Input" ]
14+ __all__ = ["CMakeFiles" ]
815
916
1017def __dir__ () -> List [str ]:
@@ -20,7 +27,36 @@ class Input:
2027
2128
2229@dataclasses .dataclass (frozen = True )
23- class CMakeFiles :
24- kind : str
30+ class GlobsDependent :
31+ expression : str
32+ recurse : bool = False
33+ listDirectories : bool = False
34+ followSymlinks : bool = False
35+ relative : Union [str , None ] = None
36+ paths : list [str ] = field (default_factory = list )
37+
38+
39+ @dataclasses .dataclass (frozen = True )
40+ class CMakeFiles_1_0 (ObjectKind ):
41+ """
42+ ..versionadded:: 3.14.0
43+ """
44+
45+ kind = "cmakeFiles"
46+ version = APIVersion (1 , 0 )
2547 paths : Paths
2648 inputs : List [Input ]
49+
50+
51+ @dataclasses .dataclass (frozen = True )
52+ class CMakeFiles_1_1 (CMakeFiles_1_0 ):
53+ """
54+ ..versionadded:: 3.30.0
55+ """
56+
57+ version = APIVersion (1 , 0 )
58+
59+ globsDependent : List [GlobsDependent ] = field (default_factory = list )
60+
61+
62+ CMakeFiles : TypeAlias = Union [CMakeFiles_1_0 , CMakeFiles_1_1 ]
0 commit comments