
    -Ph	                        d dl mZ d dlZd dlZd dlmc mZ ddl	m
Z
 ej        rddlmZ ddlmZ  G d d	e
          ZdS )
    )annotationsN   )Vs2010Backend   )Build)Interpreterc                  :     e Zd ZdZdd fd	ZddZd Zd Z xZS )Vs2022Backendvs2022FbuildT.Optional[Build]interpreterT.Optional[Interpreter]gen_liteboolc                l    t                                          |||           d| _        d| _        d S )N)r   z12.00z
Version 17)super__init__sln_file_versionsln_version_comment)selfr   r   r   	__class__s       `/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/mesonbuild/backend/vs2022backend.pyr   zVs2022Backend.__init__   s8    h??? '#/       returnNonec                :   | j         | j         j        j        j        }|r3t	          d |                                D                       rd| _        nu|rst	          d |                                D                       rHt          |                                          d         }|j        	                    d          rd| _        | j        sd| _        d| _
        t          j                            d	d           }|r|                    d
          | _        d S d S )Nc              3  ,   K   | ]}|j         d k    V  dS )zclang-clNid.0cs     r   	<genexpr>z/Vs2022Backend.detect_toolset.<locals>.<genexpr>   s)      HHAQTZ/HHHHHHr   ClangCLc              3  ,   K   | ]}|j         d k    V  dS )zintel-clNr   r!   s     r   r$   z/Vs2022Backend.detect_toolset.<locals>.<genexpr>   s)      JJaqtz1JJJJJJr   r   19zIntel C++ Compiler 19.0v1432022WindowsSDKVersion\)environmentcoredata	compilershostallvaluesplatform_toolsetlistversion
startswith
vs_versionosenvirongetrstripwindows_target_platform_version)r   compsr#   sdk_versions       r   detect_toolsetzVs2022Backend.detect_toolset   s#   '$-7<E FHHHHHHH F(1%% F3JJ5<<>>JJJJJ F((+9''-- F,ED)( /(.%$DOjnn%8$?? 	L3>3E3Ed3K3KD000	L 	Lr   c                :    dt          j        |d          _        d S )N	DebugFullGenerateDebugInformation)ET
SubElementtext)r   links     r   generate_debug_informationz(Vs2022Backend.generate_debug_information,   s    ?Jd677<<<r   c                >   d|v rHd |d         D             }|r4|d                              dd          t          j        |d          _        d|v rJd |d         D             }|r8|d                              d	d
          t          j        |d          _        d S d S d S )Ncppc                <    g | ]}|                     d           |S )/std:c++r5   r"   xs     r   
<listcomp>z=Vs2022Backend.generate_lang_standard_info.<locals>.<listcomp>2   s)    OOOQall:6N6NOqOOOr   r   rJ   stdcppLanguageStandardr#   c                <    g | ]}|                     d           |S )/std:crK   rL   s     r   rN   z=Vs2022Backend.generate_lang_standard_info.<locals>.<listcomp>6   s)    KKKQALL4J4JKqKKKr   rR   stdcLanguageStandard_C)replacerB   rC   rD   )r   	file_argsclconfoptargss       r   generate_lang_standard_infoz)Vs2022Backend.generate_lang_standard_info0   s    IOO)E"2OOOG jAHASAST^`hAiAif&899>)KK)C.KKKG hCJ1:CUCUV^`fCgCgf&:;;@@@ h hr   )F)r   r   r   r   r   r   )r   r   )	__name__
__module____qualname__namer   r>   rF   rY   __classcell__)r   s   @r   r
   r
      s        D0 0 0 0 0 0 0
L L L L$K K Kh h h h h h hr   r
   )
__future__r   r7   typingTxml.etree.ElementTreeetreeElementTreerB   vs2010backendr   TYPE_CHECKINGr   r   r   r   r
    r   r   <module>rh      s    # " " " " " 				     " " " " " " " " " ( ( ( ( ( (? *))))))'h 'h 'h 'h 'hM 'h 'h 'h 'h 'hr   