Browse Source

PIPs: Ensure that the assets directory is copied correctly for mobile examples

tags/2021-05-28
ed 7 years ago
parent
commit
ea826db813
1 changed files with 26 additions and 2 deletions
  1. +26
    -2
      extras/Projucer/Source/Utility/PIPs/jucer_PIPGenerator.cpp

+ 26
- 2
extras/Projucer/Source/Utility/PIPs/jucer_PIPGenerator.cpp View File

@@ -63,7 +63,7 @@ static void ensureSingleNewLineAfterIncludes (StringArray& lines)
}
}
static String ensureCorrectWhitespace (const String& input)
static String ensureCorrectWhitespace (StringRef input)
{
auto lines = StringArray::fromLines (input);
ensureSingleNewLineAfterIncludes (lines);
@@ -86,11 +86,16 @@ static bool isJUCEExample (const File& pipFile)
return false;
}
static bool isValidExporterName (const String& exporterName)
static bool isValidExporterName (StringRef exporterName)
{
return ProjectExporter::getExporterValueTreeNames().contains (exporterName, true);
}
static bool isMobileExporter (const String& exporterName)
{
return exporterName == "XCODE_IPHONE" || exporterName == "ANDROIDSTUDIO";
}
//==============================================================================
PIPGenerator::PIPGenerator (const File& pip, const File& output)
: pipFile (pip),
@@ -305,6 +310,25 @@ ValueTree PIPGenerator::createExporterChild (const String& exporterName)
exporter.setProperty (Ids::targetFolder, "Builds/" + ProjectExporter::getTargetFolderForExporter (exporterName), nullptr);
if (isMobileExporter (exporterName))
{
auto juceDir = getAppSettings().getStoredPath (Ids::jucePath).toString();
if (juceDir.isNotEmpty() && isValidJUCEExamplesDirectory (File (juceDir).getChildFile ("examples")))
{
auto assetsDirectoryPath = File (juceDir).getChildFile ("examples").getChildFile ("Assets").getFullPathName();
exporter.setProperty (exporterName == "XCODE_IPHONE" ? Ids::customXcodeResourceFolders
: Ids::androidExtraAssetsFolder,
assetsDirectoryPath, nullptr);
}
else
{
// invalid JUCE path
jassertfalse;
}
}
{
ValueTree configs (Ids::CONFIGURATIONS);


Loading…
Cancel
Save