static bool areCompatibleExporters (const ProjectExporter& p1, const ProjectExporter& p2) { return (p1.isVisualStudio() && p2.isVisualStudio()) || (p1.isXcode() && p2.isXcode()) || (p1.isLinuxMakefile() && p2.isLinuxMakefile()) || (p1.isAndroid() && p2.isAndroid()) || (p1.isCodeBlocksWindows() && p2.isCodeBlocksWindows()) || (p1.isCodeBlocksLinux() && p2.isCodeBlocksLinux()); }
static bool fileTargetMatches (ProjectExporter& exporter, const String& target) { if (exporter.isXcode()) return exporterTargetMatches ("xcode", target); if (exporter.isWindows()) return exporterTargetMatches ("msvc", target); if (exporter.isLinux()) return exporterTargetMatches ("linux", target); if (exporter.isAndroid()) return exporterTargetMatches ("android", target); if (exporter.isCodeBlocksWindows()) return exporterTargetMatches ("mingw", target); return target.isEmpty(); }
void LibraryModule::prepareExporter (ProjectExporter& exporter, ProjectSaver& projectSaver) const { Project& project = exporter.getProject(); exporter.addToExtraSearchPaths (exporter.getModuleFolderRelativeToProject (getID()).getParentDirectory()); const String extraDefs (moduleInfo.getPreprocessorDefs().trim()); if (extraDefs.isNotEmpty()) exporter.getExporterPreprocessorDefs() = exporter.getExporterPreprocessorDefsString() + "\n" + extraDefs; { Array<File> compiled; const File localModuleFolder = project.getModules().shouldCopyModuleFilesLocally (getID()).getValue() ? project.getLocalModuleFolder (getID()) : moduleInfo.getFolder(); findAndAddCompiledUnits (exporter, &projectSaver, localModuleFolder, compiled); if (project.getModules().shouldShowAllModuleFilesInProject (getID()).getValue()) addBrowseableCode (exporter, compiled, localModuleFolder); } if (isVSTPluginHost (project)) VSTHelpers::addVSTFolderToPath (exporter, false); if (isVST3PluginHost (project)) VSTHelpers::addVSTFolderToPath (exporter, true); if (exporter.isXcode()) { if (isAUPluginHost (project)) exporter.xcodeFrameworks.addTokens ("AudioUnit CoreAudioKit", false); const String frameworks (moduleInfo.moduleInfo [exporter.isOSX() ? "OSXFrameworks" : "iOSFrameworks"].toString()); exporter.xcodeFrameworks.addTokens (frameworks, ", ", StringRef()); parseAndAddLibs (exporter.xcodeLibs, moduleInfo.moduleInfo [exporter.isOSX() ? "OSXLibs" : "iOSLibs"].toString()); } else if (exporter.isLinux()) { parseAndAddLibs (exporter.linuxLibs, moduleInfo.moduleInfo ["LinuxLibs"].toString()); } else if (exporter.isCodeBlocksWindows()) { parseAndAddLibs (exporter.mingwLibs, moduleInfo.moduleInfo ["mingwLibs"].toString()); } if (moduleInfo.isPluginClient()) { if (shouldBuildVST (project).getValue()) VSTHelpers::prepareExporter (exporter, projectSaver, false); if (shouldBuildVST3 (project).getValue()) VSTHelpers::prepareExporter (exporter, projectSaver, true); if (shouldBuildAU (project).getValue()) AUHelpers::prepareExporter (exporter, projectSaver); if (shouldBuildAAX (project).getValue()) AAXHelpers::prepareExporter (exporter, projectSaver); if (shouldBuildRTAS (project).getValue()) RTASHelpers::prepareExporter (exporter, projectSaver); } }