void LibraryModule::getLocalCompiledFiles (const File& localModuleFolder, Array<File>& result) const { const var compileArray (moduleInfo.moduleInfo ["compile"]); // careful to keep this alive while the array is in use! if (const Array<var>* const files = compileArray.getArray()) { for (int i = 0; i < files->size(); ++i) { const var& file = files->getReference(i); const String filename (file ["file"].toString()); if (filename.isNotEmpty() #if JUCE_MAC && exporterTargetMatches ("xcode", file ["target"].toString()) #elif JUCE_WINDOWS && exporterTargetMatches ("msvc", file ["target"].toString()) #elif JUCE_LINUX && exporterTargetMatches ("linux", file ["target"].toString()) #endif ) { result.add (localModuleFolder.getChildFile (filename)); } } } }
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.isCodeBlocks()) return exporterTargetMatches ("mingw", target); return target.isEmpty(); }