Commit c2a6df94 authored by Gregor Jasny's avatar Gregor Jasny Committed by Brad King
Browse files

Xcode: Use correct Object Library paths for cross-SDK builds

When calculating Object Library paths take a look at the
`XCODE_EMIT_EFFECTIVE_PLATFORM_NAME` property to enable builds with
different SDKs. Otherwise a hard-coded architecture could be chosen.

Fixes: #16040
parent 372de3f8
......@@ -147,7 +147,7 @@ cmGlobalXCodeGenerator::cmGlobalXCodeGenerator(
this->XcodeBuildCommandInitialized = false;
this->ObjectDirArchDefault = "$(CURRENT_ARCH)";
this->ComputeObjectDirArch();
this->ObjectDirArch = this->ObjectDirArchDefault;
cm->GetState()->SetIsGeneratorMultiConfig(true);
}
......@@ -3087,12 +3087,12 @@ void cmGlobalXCodeGenerator::ComputeArchitectures(cmMakefile* mf)
}
}
this->ComputeObjectDirArch();
this->ComputeObjectDirArch(mf);
}
void cmGlobalXCodeGenerator::ComputeObjectDirArch()
void cmGlobalXCodeGenerator::ComputeObjectDirArch(cmMakefile* mf)
{
if (this->Architectures.size() > 1) {
if (this->Architectures.size() > 1 || this->UseEffectivePlatformName(mf)) {
this->ObjectDirArch = "$(CURRENT_ARCH)";
} else if (!this->Architectures.empty()) {
this->ObjectDirArch = this->Architectures[0];
......
......@@ -247,7 +247,7 @@ private:
const cmGeneratorTarget* t) const;
void ComputeArchitectures(cmMakefile* mf);
void ComputeObjectDirArch();
void ComputeObjectDirArch(cmMakefile* mf);
void addObject(cmXCodeObject* obj);
std::string PostBuildMakeTarget(std::string const& tName,
......
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