Exemplo n.º 1
0
VCProject* SBTarget::constructVCProject(VSTemplateProject* projTemplate)
{
  // Create the project
  VCProject* proj = new VCProject(projTemplate);

  // Set global properties on the project
  const BuildSettings& projBS = m_parentProject.getBuildSettings();
  String sdkDir = projBS.getValue("WINOBJC_SDK_ROOT");
  proj->setGlobalProperty("WINOBJC_SDK_ROOT", sdkDir);

  // Set configuration properties
  for (auto configBS : m_buildSettings) {
    VCProjectConfiguration *projConfig = proj->addConfiguration(configBS.first);
    String execName = configBS.second->getValue("EXECUTABLE_NAME");
    if (getProductType() == TargetStaticLib)
      execName = sb_fname(execName);
    if (!execName.empty())
      projConfig->setProperty("TargetName", execName);
  }

  // Write files associated with each build phase
  SBBuildPhaseList::const_iterator phaseIt = m_buildPhases.begin();
  for (; phaseIt != m_buildPhases.end(); ++phaseIt)
    (*phaseIt)->writeVCProjectFiles(*proj);

  return proj;
}