mirror of
https://github.com/Kitware/CMake.git
synced 2026-04-28 09:59:20 -05:00
Merge topic 'xcode-remove-UseObjectLibraries'
229abfc8cmGeneratorTarget: Drop unused UseObjectLibraries method63fbf587Xcode: Inline relevant parts of UseObjectLibraries1afacebeXcode: Do not add Object Libraries source group on Xcode >= 5 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !698
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user