parameters: (target_list, target_dicts, options, msvs_version)
return_statement: return projects
docstring: Create a MSVSProject object for the targets found in target list.
  
    Arguments:
      target_list: the list of targets to generate project objects for.
      target_dicts: the dictionary of specifications.
      options: global generator options.
      msvs_version: the MSVSVersion object.
    Returns:
      A set of created projects, keyed by target.
docstring_summary: Create a MSVSProject object for the targets found in target list.
docstring_tokens: Create a MSVSProject object for the targets found in target list .
function: def _CreateProjectObjects(target_list, target_dicts, options, msvs_version):
    """Create a MSVSProject object for the targets found in target list.
  
    Arguments:
      target_list: the list of targets to generate project objects for.
      target_dicts: the dictionary of specifications.
      options: global generator options.
      msvs_version: the MSVSVersion object.
    Returns:
      A set of created projects, keyed by target.
    """
    global fixpath_prefix
    # Generate each project.
    projects = {}
    for qualified_target in target_list:
      spec = target_dicts[qualified_target]
      if spec['toolset'] != 'target':
        raise GypError(
            'Multiple toolsets not supported in msvs build (target %s)' %
            qualified_target)
      proj_path, fixpath_prefix = _GetPathOfProject(qualified_target, spec,
                                                    options, msvs_version)
      guid = _GetGuidOfProject(proj_path, spec)
      overrides = _GetPlatformOverridesOfProject(spec)
      build_file = gyp.common.BuildFile(qualified_target)
      # Create object for this project.
      obj = MSVSNew.MSVSProject(
          proj_path,
          name=spec['target_name'],
          guid=guid,
          spec=spec,
          build_file=build_file,
          config_platform_overrides=overrides,
          fixpath_prefix=fixpath_prefix)
      # Set project toolset if any (MS build only)
      if msvs_version.UsesVcxproj():
        obj.set_msbuild_toolset(
            _GetMsbuildToolsetOfProject(proj_path, spec, msvs_version))
      projects[qualified_target] = obj
    # Set all the dependencies, but not if we are using an external builder like
    # ninja
    for project in projects.values():
      if not project.spec.get('msvs_external_builder'):
        deps = project.spec.get('dependencies', [])
        deps = [projects[d] for d in deps]
        project.set_dependencies(deps)
    return projects
function_tokens: def _CreateProjectObjects ( target_list , target_dicts , options , msvs_version ) : global fixpath_prefix # Generate each project. projects = { } for qualified_target in target_list : spec = target_dicts [ qualified_target ] if spec [ 'toolset' ] != 'target' : raise GypError ( 'Multiple toolsets not supported in msvs build (target %s)' % qualified_target ) proj_path , fixpath_prefix = _GetPathOfProject ( qualified_target , spec , options , msvs_version ) guid = _GetGuidOfProject ( proj_path , spec ) overrides = _GetPlatformOverridesOfProject ( spec ) build_file = gyp . common . BuildFile ( qualified_target ) # Create object for this project. obj = MSVSNew . MSVSProject ( proj_path , name = spec [ 'target_name' ] , guid = guid , spec = spec , build_file = build_file , config_platform_overrides = overrides , fixpath_prefix = fixpath_prefix ) # Set project toolset if any (MS build only) if msvs_version . UsesVcxproj ( ) : obj . set_msbuild_toolset ( _GetMsbuildToolsetOfProject ( proj_path , spec , msvs_version ) ) projects [ qualified_target ] = obj # Set all the dependencies, but not if we are using an external builder like # ninja for project in projects . values ( ) : if not project . spec . get ( 'msvs_external_builder' ) : deps = project . spec . get ( 'dependencies' , [ ] ) deps = [ projects [ d ] for d in deps ] project . set_dependencies ( deps ) return projects