
    e                    L    d dl mZ d dlZej                  rddlmZ dZdZddZ	y)	    )annotationsN   )	Argumentszproject('{project_name}', {language},
  version : '{version}',
  default_options : [{default_options}])

executable('{executable}',
           {sourcespec},{depspec}
           install : true)
zproject('{project_name}', '{language}',
  version : '{version}',
  default_options : [{default_options}])

jar('{executable}',
    {sourcespec},{depspec}
    main_class: '{main_class}',
    install : true)
c           
     <   | j                   dk7  rt        d      dg}| j                  dk(  r|dgz  }dj                  d |D              }dj                  d	 | j                  D              }d
}| j
                  r;d}|dj                  d | j
                  j                  d      D              z  }|dz  }| j                  dk7  r^| j                  dk7  rd| j                   dnddg}t        j                  | j                  || j                  | j                  |||      }nOt        j                  | j                  | j                  | j                  | j                  | j                  |||      }t        ddd      j                  |       t        d|z          y )N
executablez
Generating a meson.build file from existing sources is
supported only for project type "executable".
Run meson init in an empty directory to create a sample project.zwarning_level=3cppzcpp_std=c++14z, c              3  (   K   | ]
  }d | d   yw'N .0xs     E/usr/lib/python3/dist-packages/mesonbuild/templates/mesontemplates.py	<genexpr>z%create_meson_build.<locals>.<genexpr>5   s     )LqAaS()L   z,
           c              3  (   K   | ]
  }d | d   ywr
   r   r   s     r   r   z%create_meson_build.<locals>.<genexpr>6   s     &JA1#Qx&Jr    z+
           dependencies : [
              z,
              c              3  (   K   | ]
  }d | d  yw)zdependency('z')Nr   r   s     r   r   z%create_meson_build.<locals>.<genexpr>:   s#      ,N01 /;1#R,@ ,Nr   ,z],javavalar   c)project_namelanguageversionr   
sourcespecdepspecdefault_options)r   r   r   r   
main_classr   r   r   zmeson.buildwzutf-8)encodingzGenerated meson.build file:

)type
SystemExitr   joinsrcfilesdepssplitmeson_executable_templateformatnamer   r   meson_jar_templateopenwriteprint)optionsr   formatted_default_optionsr   r   r   contents          r   create_meson_buildr3   *   s   |||# \ ] 	] ))O5 O,, !%		)LO)L L!&&&J9I9I&JJJG||A&++ ,N5<\\5G5G5L,N N 	N46!.5.>.>&.HQw''(*sTZm+22<D;B??>E>P>P>H;BC\ 3 ^ %++5<5E5E4;OO7>7I7I7>||7A4;<U , W 	g.44W=	
+g
56    )r0   r   returnNone)

__future__r   typingTTYPE_CHECKINGminitr   r)   r,   r3   r   r4   r   <module>r<      s,    # ??!  &7r4   