
    -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                  8     e Zd ZdZd fdZdd	Zd
 Zd Z xZS )Vs2019Backendvs2019buildT.Optional[Build]interpreterT.Optional[Interpreter]c                h    t                                          ||           d| _        d| _        d S )Nz12.00z
Version 16)super__init__sln_file_versionsln_version_comment)selfr   r   	__class__s      `/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/mesonbuild/backend/vs2019backend.pyr   zVs2019Backend.__init__   s3    ,,, '#/       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/Vs2019Backend.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/Vs2019Backend.detect_toolset.<locals>.<genexpr>   s)      JJaqtz1JJJJJJr   r   19zIntel C++ Compiler 19.0v1422019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Vs2019Backend.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(Vs2019Backend.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++r3   r    xs     r   
<listcomp>z=Vs2019Backend.generate_lang_standard_info.<locals>.<listcomp>2   s)    OOOQall:6N6NOqOOOr   r   rH   stdcppLanguageStandardr!   c                <    g | ]}|                     d           |S )/std:crI   rJ   s     r   rL   z=Vs2019Backend.generate_lang_standard_info.<locals>.<listcomp>6   s)    KKKQALL4J4JKqKKKr   rP   stdcLanguageStandard_C)replacer@   rA   rB   )r   	file_argsclconfoptargss       r   generate_lang_standard_infoz)Vs2019Backend.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   )r   r   r   r   )r   r   )	__name__
__module____qualname__namer   r<   rD   rW   __classcell__)r   s   @r   r
   r
      s        D0 0 0 0 0 0
L L L L$K K Kh h h h h h hr   r
   )
__future__r   r5   typingTxml.etree.ElementTreeetreeElementTreer@   vs2010backendr   TYPE_CHECKINGr   r   r   r   r
    r   r   <module>rf      s    # " " " " " 				     " " " " " " " " " ( ( ( ( ( (? *))))))'h 'h 'h 'h 'hM 'h 'h 'h 'h 'hr   