(options: 'argparse.Namespace')
return 0
Here we generate the new Meson sample project.
Here we generate the new Meson sample project.
Here we generate the new Meson sample project .
def run(options: 'argparse.Namespace') -> int:
    '''
    Here we generate the new Meson sample project.
    '''
    if not Path(options.wd).exists():
        sys.exit('Project source root directory not found. Run this command in source directory root.')
    os.chdir(options.wd)

    if not glob('*'):
        autodetect_options(options, sample=True)
        if not options.language:
            print('Defaulting to generating a C language project.')
            options.language = 'c'
        create_sample(options)
    else:
        autodetect_options(options)
        if Path('meson.build').is_file() and not options.force:
            raise SystemExit('meson.build already exists. Use --force to overwrite.')
        create_meson_build(options)
    if options.build:
        if Path(options.builddir).is_dir() and options.force:
            print('Build directory already exists, deleting it.')
            shutil.rmtree(options.builddir)
        print('Building...')
        cmd = mesonlib.get_meson_command() + [options.builddir]
        ret = subprocess.run(cmd)
        if ret.returncode:
            raise SystemExit
        cmd = detect_ninja() + ['-C', options.builddir]
        ret = subprocess.run(cmd)
        if ret.returncode:
            raise SystemExit
    return 0
def run ( options : 'argparse.Namespace' ) -> int : if not Path ( options . wd ) . exists ( ) : sys . exit ( 'Project source root directory not found. Run this command in source directory root.' ) os . chdir ( options . wd ) if not glob ( '*' ) : autodetect_options ( options , sample = True ) if not options . language : print ( 'Defaulting to generating a C language project.' ) options . language = 'c' create_sample ( options ) else : autodetect_options ( options ) if Path ( 'meson.build' ) . is_file ( ) and not options . force : raise SystemExit ( 'meson.build already exists. Use --force to overwrite.' ) create_meson_build ( options ) if options . build : if Path ( options . builddir ) . is_dir ( ) and options . force : print ( 'Build directory already exists, deleting it.' ) shutil . rmtree ( options . builddir ) print ( 'Building...' ) cmd = mesonlib . get_meson_command ( ) + [ options . builddir ] ret = subprocess . run ( cmd ) if ret . returncode : raise SystemExit cmd = detect_ninja ( ) + [ '-C' , options . builddir ] ret = subprocess . run ( cmd ) if ret . returncode : raise SystemExit return 0