Commit e155fba6 authored by Brad King's avatar Brad King Committed by Kitware Robot

Merge topic 'xcode-remove-UseObjectLibraries'

229abfc8 cmGeneratorTarget: Drop unused UseObjectLibraries method
63fbf587 Xcode: Inline relevant parts of UseObjectLibraries
1afacebe Xcode: Do not add Object Libraries source group on Xcode >= 5
Acked-by: Kitware Robot's avatarKitware Robot <kwrobot@kitware.com>
Merge-request: !698
parents 0d928d2f 229abfc8
Pipeline #54714 failed with stage
in 0 seconds
......@@ -1937,41 +1937,6 @@ bool cmGeneratorTarget::IsDLLPlatform() const
return this->DLLPlatform;
}
void cmGeneratorTarget::UseObjectLibraries(std::vector<std::string>& objs,
const std::string& config) const
{
std::vector<cmSourceFile const*> objectFiles;
this->GetExternalObjects(objectFiles, config);
std::vector<cmGeneratorTarget*> objectLibraries;
for (std::vector<cmSourceFile const*>::const_iterator it =
objectFiles.begin();
it != objectFiles.end(); ++it) {
std::string objLib = (*it)->GetObjectLibrary();
if (cmGeneratorTarget* tgt =
this->LocalGenerator->FindGeneratorTargetToUse(objLib)) {
objectLibraries.push_back(tgt);
}
}
std::vector<cmGeneratorTarget*>::const_iterator end =
cmRemoveDuplicates(objectLibraries);
for (std::vector<cmGeneratorTarget*>::const_iterator ti =
objectLibraries.begin();
ti != end; ++ti) {
cmGeneratorTarget* ogt = *ti;
std::vector<cmSourceFile const*> objectSources;
ogt->GetObjectSources(objectSources, config);
for (std::vector<cmSourceFile const*>::const_iterator si =
objectSources.begin();
si != objectSources.end(); ++si) {
std::string obj = ogt->ObjectDirectory;
obj += ogt->Objects[*si];
objs.push_back(obj);
}
}
}
void cmGeneratorTarget::GetAutoUicOptions(std::vector<std::string>& result,
const std::string& config) const
{
......
......@@ -347,9 +347,6 @@ public:
time config name placeholder if needed for the generator. */
std::string ObjectDirectory;
void UseObjectLibraries(std::vector<std::string>& objs,
const std::string& config) const;
void GetAppleArchs(const std::string& config,
std::vector<std::string>& archVec) const;
......
......@@ -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);
......@@ -2799,17 +2805,24 @@ bool cmGlobalXCodeGenerator::CreateGroups(
this->GroupMap[key] = pbxgroup;
}
// 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();
oi != objs.end(); ++oi) {
std::string const& source = *oi;
cmSourceGroup* sourceGroup =
mf->FindSourceGroup(source.c_str(), sourceGroups);
cmXCodeObject* pbxgroup = this->CreateOrGetPBXGroup(gtgt, sourceGroup);
std::string key = GetGroupMapKeyFromPath(gtgt, source);
this->GroupMap[key] = pbxgroup;
if (this->XcodeVersion < 50) {
// Put OBJECT_LIBRARY objects in proper groups:
std::vector<cmSourceFile const*> objs;
gtgt->GetExternalObjects(objs, "");
for (std::vector<cmSourceFile const*>::const_iterator oi =
objs.begin();
oi != objs.end(); ++oi) {
if ((*oi)->GetObjectLibrary().empty()) {
continue;
}
std::string const& source = (*oi)->GetFullPath();
cmSourceGroup* sourceGroup =
mf->FindSourceGroup(source.c_str(), sourceGroups);
cmXCodeObject* pbxgroup =
this->CreateOrGetPBXGroup(gtgt, sourceGroup);
std::string key = GetGroupMapKeyFromPath(gtgt, source);
this->GroupMap[key] = pbxgroup;
}
}
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment