1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-10 23:44:24 +00:00

macOS: Fixed compatibility targeting macOS 10.10 and earlier when building against the 10.15 SDK

This commit is contained in:
Tom Poole 2020-01-07 16:12:10 +00:00
parent 2f6053b64e
commit 997b217179
2 changed files with 21 additions and 6 deletions

View file

@ -302,7 +302,12 @@ void LibraryModule::addSettingsForModuleToExporter (ProjectExporter& exporter, P
auto& xcodeExporter = dynamic_cast<XcodeProjectExporter&> (exporter);
if (project.isAUPluginHost())
xcodeExporter.xcodeFrameworks.addTokens (xcodeExporter.isOSX() ? "AudioUnit CoreAudioKit" : "CoreAudioKit", false);
{
xcodeExporter.xcodeFrameworks.add ("CoreAudioKit");
if (xcodeExporter.isOSX())
xcodeExporter.xcodeFrameworks.add ("AudioUnit");
}
auto frameworks = moduleInfo.moduleInfo [xcodeExporter.isOSX() ? "OSXFrameworks" : "iOSFrameworks"].toString();
xcodeExporter.xcodeFrameworks.addTokens (frameworks, ", ", {});

View file

@ -1772,7 +1772,7 @@ public:
" -I \\\"$(DEVELOPER_DIR)/Extras/CoreAudio/AudioUnits/AUPublic/AUBase\\\""
" -I \\\"$(DEVELOPER_DIR)/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AudioUnit.framework/Headers\\\"";
xcodeFrameworks.addTokens ("AudioUnit CoreAudioKit", false);
xcodeFrameworks.addArray ({ "AudioUnit", "CoreAudioKit" });
XmlElement plistKey ("key");
plistKey.addTextElement ("AudioComponents");
@ -1819,10 +1819,10 @@ public:
void addExtraAudioUnitv3PlugInTargetSettings()
{
if (owner.isiOS())
xcodeFrameworks.addTokens ("CoreAudioKit AVFoundation", false);
else
xcodeFrameworks.addTokens ("AudioUnit CoreAudioKit AVFoundation", false);
xcodeFrameworks.addArray ({ "AVFoundation", "CoreAudioKit" });
if (owner.isOSX())
xcodeFrameworks.add ("AudioUnit");
XmlElement plistKey ("key");
plistKey.addTextElement ("NSExtension");
@ -2656,6 +2656,16 @@ private:
s.removeDuplicates (true);
s.sort (true);
// When building against the 10.15 SDK we need to make sure the
// AudioUnit framework is linked before the AudioToolbox framework.
auto audioUnitIndex = s.indexOf ("AudioUnit", false, 1);
if (audioUnitIndex != -1)
{
s.remove (audioUnitIndex);
s.insert (0, "AudioUnit");
}
for (auto& framework : s)
{
auto frameworkID = addFramework (framework);