summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2020-10-28 11:26:40 (GMT)
committerKitware Robot <kwrobot@kitware.com>2020-10-28 11:26:47 (GMT)
commite09400e3607c3e4d86e97f4f2e1ce8e61be7d0bb (patch)
treee2da0b94b371db082720e8275470b8cc67bdbcdc
parent910fc4d880426c0c0469eeaa26624e5989d02802 (diff)
parent5dc23300b1c320db1e0690f769c4fda11adc6376 (diff)
downloadCMake-e09400e3607c3e4d86e97f4f2e1ce8e61be7d0bb.zip
CMake-e09400e3607c3e4d86e97f4f2e1ce8e61be7d0bb.tar.gz
CMake-e09400e3607c3e4d86e97f4f2e1ce8e61be7d0bb.tar.bz2
Merge topic 'xcode-fix-source-linking'
5dc23300b1 Xcode: Fix regression that automatically links libraries in source list Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5432
-rw-r--r--Source/cmGlobalXCodeGenerator.cxx5
1 files changed, 3 insertions, 2 deletions
diff --git a/Source/cmGlobalXCodeGenerator.cxx b/Source/cmGlobalXCodeGenerator.cxx
index 952a179..e7bbf72 100644
--- a/Source/cmGlobalXCodeGenerator.cxx
+++ b/Source/cmGlobalXCodeGenerator.cxx
@@ -1423,7 +1423,7 @@ bool cmGlobalXCodeGenerator::CreateXCodeTarget(
cmGeneratorTarget::SourceFileFlags tsFlags =
gtgt->GetTargetSourceFileFlags(sourceFile);
- if (filetype && IsLibraryType(filetype->GetString())) {
+ if (filetype && filetype->GetString() == "compiled.mach-o.objfile") {
if (sourceFile->GetObjectLibrary().empty()) {
externalObjFiles.push_back(xsf);
}
@@ -1591,7 +1591,7 @@ bool cmGlobalXCodeGenerator::CreateXCodeTarget(
}
}
- // always create framework build phase
+ // Always create Link Binary With Libraries build phase
cmXCodeObject* frameworkBuildPhase = nullptr;
frameworkBuildPhase =
this->CreateObject(cmXCodeObject::PBXFrameworksBuildPhase);
@@ -1600,6 +1600,7 @@ bool cmGlobalXCodeGenerator::CreateXCodeTarget(
this->CreateString("2147483647"));
buildFiles = this->CreateObject(cmXCodeObject::OBJECT_LIST);
frameworkBuildPhase->AddAttribute("files", buildFiles);
+ // Add all collected .o files to this build phase
for (auto& externalObjFile : externalObjFiles) {
buildFiles->AddObject(externalObjFile);
}