def GenerateOutput(target_list, target_dicts, data, params):
 global fixpath_prefix
 options = params['options']
 msvs_version = params['msvs_version']
 generator_flags = params.get('generator_flags', {})
 (target_list, target_dicts) = MSVSUtil.ShardTargets(target_list, target_dicts)
 (target_list, target_dicts) = MSVSUtil.InsertLargePdbShims(target_list, target_dicts, generator_default_variables)
 if (params.get('flavor') == 'ninja'):
  _InitNinjaFlavor(params, target_list, target_dicts)
 configs = set()
 for qualified_target in target_list:
  spec = target_dicts[qualified_target]
  for (config_name, config) in spec['configurations'].iteritems():
   configs.add(_ConfigFullName(config_name, config))
 configs = list(configs)
 project_objects = _CreateProjectObjects(target_list, target_dicts, options, msvs_version)
 missing_sources = []
 for project in project_objects.values():
  fixpath_prefix = project.fixpath_prefix
  missing_sources.extend(_GenerateProject(project, options, msvs_version, generator_flags))
 fixpath_prefix = None
 for build_file in data:
  if (not build_file.endswith('.gyp')):
   continue
  sln_path = ((os.path.splitext(build_file)[0] + options.suffix) + '.sln')
  if options.generator_output:
   sln_path = os.path.join(options.generator_output, sln_path)
  sln_projects = gyp.common.BuildFileTargets(target_list, build_file)
  sln_projects += gyp.common.DeepDependencyTargets(target_dicts, sln_projects)
  root_entries = _GatherSolutionFolders(sln_projects, project_objects, flat=msvs_version.FlatSolution())
  sln = MSVSNew.MSVSSolution(sln_path, entries=root_entries, variants=configs, websiteProperties=False, version=msvs_version)
  sln.Write()
 if missing_sources:
  error_message = ('Missing input files:\n' + '\n'.join(set(missing_sources)))
  if generator_flags.get('msvs_error_on_missing_sources', False):
   raise GypError(error_message)
  else:
   print >>sys.stdout, ('Warning: ' + error_message)

def GenerateOutput ( target_list , target_dicts , data , params ) : global fixpath_prefix options = params [ 'options' ] msvs_version = params [ 'msvs_version' ] generator_flags = params . get ( 'generator_flags' , { } ) ( target_list , target_dicts ) = MSVSUtil . ShardTargets ( target_list , target_dicts ) ( target_list , target_dicts ) = MSVSUtil . InsertLargePdbShims ( target_list , target_dicts , generator_default_variables ) if ( params . get ( 'flavor' ) == 'ninja' ) : _InitNinjaFlavor ( params , target_list , target_dicts ) configs = set ( ) for qualified_target in target_list : spec = target_dicts [ qualified_target ] for ( config_name , config ) in spec [ 'configurations' ] . iteritems ( ) : configs . add ( _ConfigFullName ( config_name , config ) ) configs = list ( configs ) project_objects = _CreateProjectObjects ( target_list , target_dicts , options , msvs_version ) missing_sources = [ ] for project in project_objects . values ( ) : fixpath_prefix = project . fixpath_prefix missing_sources . extend ( _GenerateProject ( project , options , msvs_version , generator_flags ) ) fixpath_prefix = None for build_file in data : if ( not build_file . endswith ( '.gyp' ) ) : continue sln_path = ( ( os . path . splitext ( build_file ) [ 0 ] + options . suffix ) + '.sln' ) if options . generator_output : sln_path = os . path . join ( options . generator_output , sln_path ) sln_projects = gyp . common . BuildFileTargets ( target_list , build_file ) sln_projects += gyp . common . DeepDependencyTargets ( target_dicts , sln_projects ) root_entries = _GatherSolutionFolders ( sln_projects , project_objects , flat = msvs_version . FlatSolution ( ) ) sln = MSVSNew . MSVSSolution ( sln_path , entries = root_entries , variants = configs , websiteProperties = False , version = msvs_version ) sln . Write ( ) if missing_sources : error_message = ( 'Missing input files:\n' + '\n' . join ( set ( missing_sources ) ) ) if generator_flags . get ( 'msvs_error_on_missing_sources' , False ) : raise GypError ( error_message ) else : print >> sys . stdout , ( 'Warning: ' + error_message )
generate an xml settings file that can be imported into a cdt project .