Xcode: Inline relevant parts of UseObjectLibraries

This commit is contained in:
Brad King
2017-04-12 15:11:57 -04:00
parent 1afacebee9
commit 63fbf58750

View File

@@ -1051,11 +1051,14 @@ bool cmGlobalXCodeGenerator::CreateXCodeTargets(
// Add object library contents as external objects. (Equivalent to
// the externalObjFiles above, except each one is not a cmSourceFile
// within the target.)
std::vector<std::string> objs;
gtgt->UseObjectLibraries(objs, "");
for (std::vector<std::string>::const_iterator oi = objs.begin();
std::vector<cmSourceFile const*> objs;
gtgt->GetExternalObjects(objs, "");
for (std::vector<cmSourceFile const*>::const_iterator oi = objs.begin();
oi != objs.end(); ++oi) {
std::string obj = *oi;
if ((*oi)->GetObjectLibrary().empty()) {
continue;
}
std::string const& obj = (*oi)->GetFullPath();
cmXCodeObject* xsf =
this->CreateXCodeSourceFileFromPath(obj, gtgt, "", 0);
externalObjFiles.push_back(xsf);
@@ -2669,13 +2672,16 @@ void cmGlobalXCodeGenerator::AddDependAndLinkInformation(cmXCodeObject* target)
// Add object library contents as link flags.
std::string linkObjs;
const char* sep = "";
std::vector<std::string> objs;
gt->UseObjectLibraries(objs, "");
for (std::vector<std::string>::const_iterator oi = objs.begin();
std::vector<cmSourceFile const*> objs;
gt->GetExternalObjects(objs, "");
for (std::vector<cmSourceFile const*>::const_iterator oi = objs.begin();
oi != objs.end(); ++oi) {
if ((*oi)->GetObjectLibrary().empty()) {
continue;
}
linkObjs += sep;
sep = " ";
linkObjs += this->XCodeEscapePath(*oi);
linkObjs += this->XCodeEscapePath((*oi)->GetFullPath());
}
this->AppendBuildSettingAttribute(
target, this->GetTargetLinkFlagsVar(gt), linkObjs.c_str(), configName);
@@ -2801,11 +2807,15 @@ bool cmGlobalXCodeGenerator::CreateGroups(
if (this->XcodeVersion < 50) {
// Put OBJECT_LIBRARY objects in proper groups:
std::vector<std::string> objs;
gtgt->UseObjectLibraries(objs, "");
for (std::vector<std::string>::const_iterator oi = objs.begin();
std::vector<cmSourceFile const*> objs;
gtgt->GetExternalObjects(objs, "");
for (std::vector<cmSourceFile const*>::const_iterator oi =
objs.begin();
oi != objs.end(); ++oi) {
std::string const& source = *oi;
if ((*oi)->GetObjectLibrary().empty()) {
continue;
}
std::string const& source = (*oi)->GetFullPath();
cmSourceGroup* sourceGroup =
mf->FindSourceGroup(source.c_str(), sourceGroups);
cmXCodeObject* pbxgroup =