+
    UBi2                    r    ^ RI Ht ^RIHtHtHt ^ RIt^RIH	t	 ^ RI
Ht ^ RIt^ RIt. ROt ! R R4      tR# )	    )annotations)CMakeExceptionCMakeBuildFileCMakeConfigurationN)mlog)Pathc                      ] tR t^tR R ltR R ltR R ltR R ltR	 R
 ltR R lt	R R lt
R R ltR R ltR R ltR R ltR R ltRtR# )CMakeFileAPIc                   V ^8  d   QhRR/# )   	build_dirr    )formats   "=/usr/lib/python3.14/site-packages/mesonbuild/cmake/fileapi.py__annotate__CMakeFileAPI.__annotate__   s     
 
$ 
    c                	L   Wn         V P                   R ,          R,          R,          V n        V P                  R,          R,          V n        V P                  R,          V n        . V n        . V n        RV n        RV P                  RV P                  R	V P                  /V n
        R
# )z.cmakeapiv1queryzclient-mesonreply 	codemodelcache
cmakeFilesN)r   api_base_dirrequest_dir	reply_dircmake_sourcescmake_configurationsproject_version_parse_codemodel_parse_cache_parse_cmakeFileskind_resolver_map)selfr   s   &&r   __init__CMakeFileAPI.__init__   s    " NNX5=D,,w6G**W457@B!!..T&&$00"
r   c                   V ^8  d   QhRR/# )r   returnzT.List[CMakeBuildFile]r   )r   s   "r   r   r      s     " "#9 "r   c                	    V P                   # N)r    r'   s   &r   get_cmake_sourcesCMakeFileAPI.get_cmake_sources   s    !!!r   c                   V ^8  d   QhRR/# )r   r+   zT.List[CMakeConfiguration]r   )r   s   "r   r   r   !   s     ) )*D )r   c                	    V P                   # r-   )r!   r.   s   &r   get_cmake_configurations%CMakeFileAPI.get_cmake_configurations!   s    (((r   c                   V ^8  d   QhRR/# )r   r+   strr   )r   s   "r   r   r   $   s     $ $S $r   c                	    V P                   # r-   r"   r.   s   &r   get_project_version CMakeFileAPI.get_project_version$   s    ###r   c                   V ^8  d   QhRR/# r   r+   Noner   )r   s   "r   r   r   '   s     M Mt Mr   c           
     	    V P                   P                  R R R7       RRRRR^R^ //RRRR^R^ //RR	RR^R^ //./pV P                   R
,          pVP                  \        P                  ! V^R7      RR7       R# )T)parentsexist_okrequestskindr   versionmajorminorr   r   z
query.jsonindentutf-8encodingN)r   mkdir
write_textjsondumps)r'   r   
query_files   &  r   setup_requestCMakeFileAPI.setup_request'   s    td; i'1gq1IJ)gq'1-EFy7Aw2JK
 %%4
djjq9GLr   c                   V ^8  d   QhRR/# r<   r   )r   s   "r   r   r   5   s     1 1D 1r   c                	   V P                   P                  4       '       g   \        R 4      hRp\        P                  ! R4      pV P                   P                  4        F(  pVP                  VP                  4      '       g   K&  Tp M	  V'       g   \        R4      hV P                  V4      pV P                  V4      pV P                  V4      pV P                  V4      pV P                  R,          R,          pVP                  4       pVP                  \        P                  ! V^R7      RR7       \         P"                  ! VP%                  4       4       VR	,           F^  p\'        V\(        4      '       g   Q hR
V9   g   Q hVR
,          V P*                  9   g   Q hV P*                  VR
,          ,          ! V4       K`  	  R# )z#No response from the CMake file APINz^index-.*\.json$z'Failed to find the CMake file API indexz..zfileAPI.jsonrF   rH   rI   objectsrB   )r   is_dirr   recompileiterdirmatchname_reply_file_content_strip_data_resolve_referencesr   resolverL   rM   rN   r   cmd_ci_includeas_posix
isinstancedictr&   )r'   root	reg_indexiindex
debug_jsons   &     r   
load_replyCMakeFileAPI.load_reply5   sr   ~~$$&& !FGGJJ23	'')Aqvv&& *
  !JKK((.  '((/  ' ^^d*^;
'')
djjq9GLJ//12 y!!Aa&&&&Q;;V9 6 6666""1V9-a0 "r   c                    V ^8  d   QhRRRR/# r   dataT.Dict[str, T.Any]r+   r=   r   )r   s   "r   r   r   V   s#     sH sH%7 sHD sHr   c                	  aaaaa	a
 R V9   g   Q hRV9   g   Q hVR,          R,          o
VR,          R,          oR VV
3R lloR R loR VVV3R	 llo	R
 VVVV	V
3R llpVP                  R . 4       Fq  oRSP                  RR4      R. /pSP                  R. 4       F  pVR;;,          V! V4      .,          uu&   K!  	  V ;P                  \        V4      .,          un        Ks  	  R# )configurationspathssourcebuildc                    V ^8  d   QhRRRR/# )r   	dir_entryrm   r+   zT.Tuple[Path, Path]r   )r   s   "r   r   3CMakeFileAPI._parse_codemodel.<locals>.__annotate__c   s     	$ 	$(: 	$?R 	$r   c                :  < \        V P                  R R4      4      p\        V P                  RR4      4      pVP                  4       '       d   TMSV,          pVP                  4       '       d   TMSV,          pVP                  4       pVP                  4       pW3# )rq   .rr   )r   getis_absoluter^   )rt   src_dirbld_dirr   
source_dirs   &  r   helper_parse_dir7CMakeFileAPI._parse_codemodel.<locals>.helper_parse_dirc   s    9==378G9==#67G!(!4!4!6!6gJ<PG!(!4!4!6!6gI<OGoo'Goo'G##r   c               $    V ^8  d   QhRRRRRR/# )r   
comp_grouprm   tgtr+   z0T.Tuple[T.List[Path], T.List[Path], T.List[int]]r   )r   s   "r   r   ru   m   s(     	! 	!&8 	!?Q 	!  WG 	!r   c                z   . p. p. pVP                  R . 4      pV P                  R. 4       F  pV\        V4      8  g   RWV,          9  d   K"  WV,          P                  RR4      '       d"   V\        WV,          R,          4      .,          pM V\        WV,          R,          4      .,          pWF.,          pK  	  W2V3# )sourcessourceIndexespathisGeneratedF)rx   lenr   )r   r   gensrcidxsrc_list_rawre   s   &&     r   parse_sources4CMakeFileAPI._parse_codemodel.<locals>.parse_sourcesm   s    CCC779b1L^^OR8L))V<?-J?&&}e<<D!89::CD!89::Cs
 9 S= r   c                    V ^8  d   QhRRRR/# )r   r   rm   r+   r   )r   s   "r   r   ru   ~   s      e	 e	0 e	5G e	r   c                  < S! SP                  R / 4      4      w  r. pRV 9   da   \        V R,          R,          R,          4      pV R,          R,           Uu. uF  qTVR,          ,          NK  	  pp\        \        V4      4      p. p. pV P                  R/ 4      P                  R. 4       F  pVR,          R8X  d   WhR	,          .,          pK#  VR,          R
8X  d   WxR	,          .,          pKC  VR,          R8X  d#   VRP	                  VR	,          4      .,          pKs  VR,          R8X  g   K  VRP	                  VR	,          4      .,          pK  	  V P                  R/ 4      P                  R. 4       F#  pVR,          R8X  g   K  WhR	,          .,          pK%  	  RV P                  R. 4       Uu. uF  p\        VP                  RR4      4      NK   	  upRVRVRV P                  RR4      RV P                  RR4      RRV 9   RVRV P                  R/ 4      P                  RR4      RRP                  V4      RRP                  V4      RV P                  RR 4      R!. /p	. p
V P                  R". 4       EF  p. pVP                  R#. 4       F  pWR	,          .,          pK  	  R$VP                  R$. 4       Uu. uF  qUP                  R%R4      NK  	  upR&RP                  V4      RVP                  RR'4      R(R)R*. R+VP                  R,. 4      /pS! W4      w  rpV'       d+   \        V4      pR-VR(&   WR*&   V	R!;;,          V.,          uu&   V'       d+   \        V4      pR.VR(&   WR*&   V	R!;;,          V.,          uu&   V
V,          p
EK  	  . p. p\        V P                  R*. 4      4       FK  w  ppVV
9   d   K  VP                  R(R-4      '       d   VVR,          .,          pK:  VVR,          .,          pKM  	  V'       d   V	R!;;,          R(R-R*V/.,          uu&   V'       d   V	R!;;,          R(R.R*V/.,          uu&   V	# u upi u upi u upi )/rp   installprefixr   destinationslinkcommandFragmentsroleflagsfragment	librarieslibraryPathz-L{}frameworkPathz-F{}archive	artifactsr   sourceDirectorybuildDirectoryrZ   fullName
nameOnDiskhasInstallRuleinstallPathslinkerLanguagelanguageCXXlinkLibraries 	linkFlagstype
EXECUTABLE
fileGroupscompileGroupscompileCommandFragmentsdefinesdefinecompileFlagsCr   Nr   includePathincludesFT)rx   r   listsetr   joinrb   	enumerate)r   rz   r{   install_pathsr   x
link_flags	link_libsre   tgt_dataprocessed_src_idxcgr   cg_data
normal_srcgenerated_srcsrc_idxr   r   cnfr}   r   s   &                  r   parse_target3CMakeFileAPI._parse_codemodel.<locals>.parse_target~   s/   /0DEG MCc)nX6v>?=@^N=[ \=[!F)!3!3=[ \ $S%7 8 JIWWVR(,,-?DV9'Z=/1JvY+-J-0IvY-/6==:#?"@@JvY/16==:#?"@@J E WWY+//0BBGV9'Z=/1J H sww{TV?WX?W!d155#45?WX!7 '+CGGL"5 )s"2 #''&""5"9"9*e"L)!4SXXj15bH !#ggor2  92>A
m_,E ? RVVIr=RS=Rh 3=RS"CHHUOz3 7!4r!266*b#9 6C25K2
7"7mG-2GM*)3I&\*wi7* "7mG-1GM*)6I&\*wi7*!W,!7 3@ JM%cggi&<=S++77=%00!c&k]2M3v;-/J > &!5z, + & &!4}, + & O} !]4 Y.  Ts   P?0$Q7Q	c                    V ^8  d   QhRRRR/# )r   prorm   r+   r   )r   s   "r   r   ru      s     	 	1 	6H 	r   c                ~  < S
pSp S! SR ,          V R,          ^ ,          ,          4      w  rRV P                  RR4      RVRVR. /pV P                  R. 4       F2  p/ p SR,          V,          pVR;;,          S	! V4      .,          uu&   K4  	  V#   \         \        3 d     Lwi ; i  \         \        3 d     LLi ; i)directoriesdirectoryIndexesrZ   r   r   r   targetstargetIndexes)
IndexErrorKeyErrorrx   )r   	p_src_dir	p_bld_dirpro_datarefr   r   r   r}   r   r|   s   &     r   parse_project4CMakeFileAPI._parse_codemodel.<locals>.parse_project   s     #I!I'7M8J3OaKbcdKe8f'g$	
 +!9 )2	H ww3i.-C #S(9'::# 4 O% )  #H- s#   &B B(B%$B%(B<;B<rZ   r   projectsN)rx   r!   r   )r'   rl   r   cnf_datar   r   r   r}   r   r   r|   s   &&   @@@@@@r   r#   CMakeFileAPI._parse_codemodelV   s    4'''$']8,
M'*		$ 	$	!"e	 e	N	 	6 88,b1C+BH
 wwz2.$s);(<<$ / %%*<X*F)GG% 2r   c                    V ^8  d   QhRRRR/# rk   r   )r   s   "r   r   r     s     	o 	o&8 	oT 	or   c                	h   R V9   g   Q hRV9   g   Q h\        VR,          R,          4      pVR ,           Fy  p\        VR,          4      pVP                  4       '       d   TMW$,          pV ;P                  \        WCP	                  RR4      VP	                  RR4      4      .,          un        K{  	  R# )inputsrp   rq   r   isCMakeFr   N)r   ry   r    r   rx   )r'   rl   rz   re   r   s   &&   r   r%   CMakeFileAPI._parse_cmakeFiles  s    4$tG}X./hA&	?D++--47>D>$i8OQRQVQVWdfkQl#m"nn  r   c                    V ^8  d   QhRRRR/# rk   r   )r   s   "r   r   r     s     2 2!3 2 2r   c                	t    R V9   g   Q hVR ,           F!  pVR,          R8X  g   K  VR,          V n         K#  	  R# )entriesrZ   CMAKE_PROJECT_VERSIONvalueNr8   )r'   rl   es   && r   r$   CMakeFileAPI._parse_cache  s9    D   iAy33'(z$ !r   c                    V ^8  d   QhRRRR/# r   rl   zT.Anyr+   r   )r   s   "r   r   r     s       % r   c                	*   \        V\        4      '       d*   \        V4       F  w  r#V P                  V4      W&   K  	  V# \        V\        4      '       d>   / pVP                  4        F%  w  rVV\        9  g   K  V P                  V4      WE&   K'  	  TpV# r-   )ra   r   r   r\   rb   items
STRIP_KEYS)r'   rl   r   re   newkeyvals   &&     r   r\   CMakeFileAPI._strip_data  s    dD!!#D/ ,,Q/	 *  d##C JJLj(#//4CH ) Dr   c                    V ^8  d   QhRRRR/# r   r   )r   s   "r   r   r   +  s       % r   c                	d   \        V\        4      '       d*   \        V4       F  w  r#V P                  V4      W&   K  	  V# \        V\        4      '       d[   R V9   d(   VP                  V P                  VR ,          4      4       VP                  4        F  w  rEV P                  V4      W&   K  	  V# )jsonFile)ra   r   r   r]   rb   updater[   r   )r'   rl   r   re   r   r   s   &&    r   r]    CMakeFileAPI._resolve_references+  s    dD!!#D/ 44Q7	 *  d## T!D44T*5EFG JJL 44S9	 ) r   c                    V ^8  d   QhRRRR/# )r   filenamer   r+   rm   r   )r   s   "r   r   r   ;  s     	 	D 	5G 	r   c                	P   V P                   V,          pVP                  4       '       g   \        R V R24      h\        P                  ! VP                  RR7      4      p\        V\        4      '       g   Q hVP                  4        F  p\        V\        4      '       d   K  Q h	  V# )zFile "z" does not existrH   rI   )
r   existsr   rM   loads	read_textra   rb   keysr6   )r'   r   	real_pathrl   re   s   &&   r   r[    CMakeFileAPI._reply_file_content;  s    NNX-	!! 6)4D!EFFzz)--w-?@$%%%%Aa%%%% r   )r   r   r!   r    r&   r"   r   r   N)__name__
__module____qualname____firstlineno__r(   r/   r3   r9   rP   rh   r#   r%   r$   r\   r]   r[   __static_attributes__r   r   r   r
   r
      sI    
")$M1BsHj	o2 	 	r   r
   )cmaker   	backtracebacktraceGraphrC   )
__future__r   commonr   r   r   typingTr   r   pathlibr   rM   rV   r   r
   r   r   r   <module>r     s0    # F F     	I
u ur   