Skip to content

Commit

Permalink
Projucer: Avoid linking external libraries in the shared code target …
Browse files Browse the repository at this point in the history
…on macOS
  • Loading branch information
ed95 committed Jul 17, 2019
1 parent 8c6072b commit f950061
Showing 1 changed file with 23 additions and 20 deletions.
43 changes: 23 additions & 20 deletions extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Xcode.h
Expand Up @@ -1455,35 +1455,38 @@ class XcodeProjectExporter : public ProjectExporter
if (getTargetFileType() == pluginBundle)
flags.add (owner.isiOS() ? "-bitcode_bundle" : "-bundle");

Array<RelativePath> extraLibs;
if (type != Target::SharedCodeTarget)
{
Array<RelativePath> extraLibs;

addExtraLibsForTargetType (config, extraLibs);
addExtraLibsForTargetType (config, extraLibs);

for (auto& lib : extraLibs)
{
flags.add (getLinkerFlagForLib (lib.getFileNameWithoutExtension()));
librarySearchPaths.add (owner.getSearchPathForStaticLibrary (lib));
}
for (auto& lib : extraLibs)
{
flags.add (getLinkerFlagForLib (lib.getFileNameWithoutExtension()));
librarySearchPaths.add (owner.getSearchPathForStaticLibrary (lib));
}

if (owner.project.getProjectType().isAudioPlugin() && type != Target::SharedCodeTarget)
{
if (owner.getTargetOfType (Target::SharedCodeTarget) != nullptr)
if (owner.project.getProjectType().isAudioPlugin())
{
auto productName = getStaticLibbedFilename (owner.replacePreprocessorTokens (config, config.getTargetBinaryNameString()));
if (owner.getTargetOfType (Target::SharedCodeTarget) != nullptr)
{
auto productName = getStaticLibbedFilename (owner.replacePreprocessorTokens (config, config.getTargetBinaryNameString()));

RelativePath sharedCodelib (productName, RelativePath::buildTargetFolder);
flags.add (getLinkerFlagForLib (sharedCodelib.getFileNameWithoutExtension()));
RelativePath sharedCodelib (productName, RelativePath::buildTargetFolder);
flags.add (getLinkerFlagForLib (sharedCodelib.getFileNameWithoutExtension()));
}
}
}

flags.add (owner.replacePreprocessorTokens (config, owner.getExtraLinkerFlagsString()));
flags.add (owner.getExternalLibraryFlags (config));
flags.add (owner.replacePreprocessorTokens (config, owner.getExtraLinkerFlagsString()));
flags.add (owner.getExternalLibraryFlags (config));

auto libs = owner.xcodeLibs;
libs.addArray (xcodeLibs);
auto libs = owner.xcodeLibs;
libs.addArray (xcodeLibs);

for (auto& l : libs)
flags.add (getLinkerFlagForLib (l));
for (auto& l : libs)
flags.add (getLinkerFlagForLib (l));
}

flags = getCleanedStringArray (flags);
}
Expand Down

0 comments on commit f950061

Please sign in to comment.