From bffb17be3d1687f62c43028837a0e2331c997b43 Mon Sep 17 00:00:00 2001 From: Gusts Kaksis Date: Wed, 4 Nov 2020 19:56:29 +0200 Subject: 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 --- Source/cmGlobalXCodeGenerator.cxx | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'Source/cmGlobalXCodeGenerator.cxx') diff --git a/Source/cmGlobalXCodeGenerator.cxx b/Source/cmGlobalXCodeGenerator.cxx index e7bbf72439..908c182d11 100644 --- a/Source/cmGlobalXCodeGenerator.cxx +++ b/Source/cmGlobalXCodeGenerator.cxx @@ -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); -- cgit v1.2.1