Xcode: Inherit target library and framework search paths from project
Xcode has multiple levels of build settings with priority in descending order: 1. Target 2. Project 3. Workspace 4. SDK defaults `CMAKE_XCODE_ATTRIBUTE_*` path variables add these to project level, but linked frameworks and libraries override this in target level. Add the `$(inherited)` macro to keep both in the final list. Fixes: #21387
This commit is contained in:
parent
39f32f1210
commit
bffb17be3d
@ -3557,6 +3557,8 @@ void cmGlobalXCodeGenerator::AddDependAndLinkInformation(cmXCodeObject* target)
|
||||
for (auto& libDir : linkSearchPaths) {
|
||||
libSearchPaths.Add(this->XCodeEscapePath(libDir));
|
||||
}
|
||||
// Add paths defined in project-wide build settings
|
||||
libSearchPaths.Add("$(inherited)");
|
||||
this->AppendBuildSettingAttribute(target, "LIBRARY_SEARCH_PATHS",
|
||||
libSearchPaths.CreateList(),
|
||||
configName);
|
||||
@ -3570,6 +3572,8 @@ void cmGlobalXCodeGenerator::AddDependAndLinkInformation(cmXCodeObject* target)
|
||||
for (auto& fwDir : frameworkSearchPaths) {
|
||||
fwSearchPaths.Add(this->XCodeEscapePath(fwDir));
|
||||
}
|
||||
// Add paths defined in project-wide build settings
|
||||
fwSearchPaths.Add("$(inherited)");
|
||||
this->AppendBuildSettingAttribute(target, "FRAMEWORK_SEARCH_PATHS",
|
||||
fwSearchPaths.CreateList(),
|
||||
configName);
|
||||
|
Loading…
Reference in New Issue
Block a user