ProjectExporter* ProjectExporter::createNewExporter (Project& project, const int index) { ProjectExporter* exp = nullptr; switch (index) { case 0: exp = new XCodeProjectExporter (project, ValueTree (XCodeProjectExporter::getValueTreeTypeName (false)), false); break; case 1: exp = new XCodeProjectExporter (project, ValueTree (XCodeProjectExporter::getValueTreeTypeName (true)), true); break; case 2: exp = new MSVCProjectExporterVC6 (project, ValueTree (MSVCProjectExporterVC6::getValueTreeTypeName())); break; case 3: exp = new MSVCProjectExporterVC2005 (project, ValueTree (MSVCProjectExporterVC2005::getValueTreeTypeName())); break; case 4: exp = new MSVCProjectExporterVC2008 (project, ValueTree (MSVCProjectExporterVC2008::getValueTreeTypeName())); break; case 5: exp = new MSVCProjectExporterVC2010 (project, ValueTree (MSVCProjectExporterVC2010::getValueTreeTypeName())); break; case 6: exp = new MakefileProjectExporter (project, ValueTree (MakefileProjectExporter::getValueTreeTypeName())); break; case 7: exp = new AndroidProjectExporter (project, ValueTree (AndroidProjectExporter::getValueTreeTypeName())); break; default: jassertfalse; return 0; } File juceFolder (StoredSettings::getInstance()->getLastKnownJuceFolder()); File target (exp->getTargetFolder()); if (FileHelpers::shouldPathsBeRelative (juceFolder.getFullPathName(), project.getFile().getFullPathName())) exp->getJuceFolder() = juceFolder.getRelativePathFrom (project.getFile().getParentDirectory()); else exp->getJuceFolder() = juceFolder.getFullPathName(); exp->createLibraryModules(); return exp; }
ProjectExporter* ProjectExporter::createExporter (Project& project, const ValueTree& settings) { ProjectExporter* exp = MSVCProjectExporterVC6::createForSettings (project, settings); if (exp == nullptr) exp = MSVCProjectExporterVC2005::createForSettings (project, settings); if (exp == nullptr) exp = MSVCProjectExporterVC2008::createForSettings (project, settings); if (exp == nullptr) exp = MSVCProjectExporterVC2010::createForSettings (project, settings); if (exp == nullptr) exp = XCodeProjectExporter::createForSettings (project, settings); if (exp == nullptr) exp = MakefileProjectExporter::createForSettings (project, settings); if (exp == nullptr) exp = AndroidProjectExporter::createForSettings (project, settings); jassert (exp != nullptr); exp->createLibraryModules(); return exp; }