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

Projucer: Avoid linking external libraries in the shared code target on macOS

This commit is contained in:
ed 2019-07-17 16:11:48 +01:00
parent 8c6072b46c
commit f950061ed5

View file

@ -1455,36 +1455,39 @@ public:
if (getTargetFileType() == pluginBundle)
flags.add (owner.isiOS() ? "-bitcode_bundle" : "-bundle");
Array<RelativePath> extraLibs;
addExtraLibsForTargetType (config, extraLibs);
for (auto& lib : extraLibs)
if (type != Target::SharedCodeTarget)
{
flags.add (getLinkerFlagForLib (lib.getFileNameWithoutExtension()));
librarySearchPaths.add (owner.getSearchPathForStaticLibrary (lib));
}
Array<RelativePath> extraLibs;
if (owner.project.getProjectType().isAudioPlugin() && type != Target::SharedCodeTarget)
{
if (owner.getTargetOfType (Target::SharedCodeTarget) != nullptr)
addExtraLibsForTargetType (config, extraLibs);
for (auto& lib : extraLibs)
{
auto productName = getStaticLibbedFilename (owner.replacePreprocessorTokens (config, config.getTargetBinaryNameString()));
RelativePath sharedCodelib (productName, RelativePath::buildTargetFolder);
flags.add (getLinkerFlagForLib (sharedCodelib.getFileNameWithoutExtension()));
flags.add (getLinkerFlagForLib (lib.getFileNameWithoutExtension()));
librarySearchPaths.add (owner.getSearchPathForStaticLibrary (lib));
}
if (owner.project.getProjectType().isAudioPlugin())
{
if (owner.getTargetOfType (Target::SharedCodeTarget) != nullptr)
{
auto productName = getStaticLibbedFilename (owner.replacePreprocessorTokens (config, config.getTargetBinaryNameString()));
RelativePath sharedCodelib (productName, RelativePath::buildTargetFolder);
flags.add (getLinkerFlagForLib (sharedCodelib.getFileNameWithoutExtension()));
}
}
flags.add (owner.replacePreprocessorTokens (config, owner.getExtraLinkerFlagsString()));
flags.add (owner.getExternalLibraryFlags (config));
auto libs = owner.xcodeLibs;
libs.addArray (xcodeLibs);
for (auto& l : libs)
flags.add (getLinkerFlagForLib (l));
}
flags.add (owner.replacePreprocessorTokens (config, owner.getExtraLinkerFlagsString()));
flags.add (owner.getExternalLibraryFlags (config));
auto libs = owner.xcodeLibs;
libs.addArray (xcodeLibs);
for (auto& l : libs)
flags.add (getLinkerFlagForLib (l));
flags = getCleanedStringArray (flags);
}