summaryrefslogtreecommitdiff
path: root/Source/cmGlobalXCodeGenerator.h
diff options
context:
space:
mode:
authorGusts Kaksis <gusts.kaksis@sonarworks.com>2019-07-10 12:32:16 +0300
committerBrad King <brad.king@kitware.com>2020-07-14 08:07:55 -0400
commite637744c515b1e61d58bfd3539a2ab5afc78f5bb (patch)
treefd70f5eea9cf08401dd2bf75ba5123954d41cd48 /Source/cmGlobalXCodeGenerator.h
parentfd1df4995b6c1e063bb978e034a264b0e2d59f63 (diff)
downloadcmake-e637744c515b1e61d58bfd3539a2ab5afc78f5bb.tar.gz
Xcode: Use "Link Binary With Libraries" to link any library
Add external libraries as fileRefs to Xcode project and add those references to Link Binary With Libraries build phase. This allows linking .a, .o, .dylib, .framework and .tbd libraries through "Link Binary With Libraries" build phase, as opposed to `OTHER_LINKER_FLAGS`. This improves on the approach added by commit 58c05e1c73 (Xcode: Use "Link Binary With Libraries" build phase when possible, 2020-06-12).
Diffstat (limited to 'Source/cmGlobalXCodeGenerator.h')
-rw-r--r--Source/cmGlobalXCodeGenerator.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/Source/cmGlobalXCodeGenerator.h b/Source/cmGlobalXCodeGenerator.h
index 11b93124a3..276a9eec4a 100644
--- a/Source/cmGlobalXCodeGenerator.h
+++ b/Source/cmGlobalXCodeGenerator.h
@@ -203,10 +203,10 @@ private:
cmGeneratorTarget* target,
const std::string& lang,
cmSourceFile* sf);
- cmXCodeObject* CreateXCodeSourceFileFromPath(const std::string& fullpath,
- cmGeneratorTarget* target,
- const std::string& lang,
- cmSourceFile* sf);
+ cmXCodeObject* CreateXCodeBuildFileFromPath(const std::string& fullpath,
+ cmGeneratorTarget* target,
+ const std::string& lang,
+ cmSourceFile* sf);
cmXCodeObject* CreateXCodeFileReference(cmSourceFile* sf,
cmGeneratorTarget* target);
cmXCodeObject* CreateXCodeSourceFile(cmLocalGenerator* gen, cmSourceFile* sf,
@@ -281,6 +281,7 @@ private:
std::string PostBuildMakeTarget(std::string const& tName,
std::string const& configName);
cmXCodeObject* MainGroupChildren;
+ cmXCodeObject* FrameworkGroup;
cmMakefile* CurrentMakefile;
cmLocalGenerator* CurrentLocalGenerator;
std::vector<std::string> CurrentConfigurationTypes;
@@ -294,6 +295,7 @@ private:
std::map<std::string, cmXCodeObject*> GroupNameMap;
std::map<std::string, cmXCodeObject*> TargetGroup;
std::map<std::string, cmXCodeObject*> FileRefs;
+ std::map<std::string, cmXCodeObject*> ExternalLibRefs;
std::map<cmGeneratorTarget const*, cmXCodeObject*> XCodeObjectMap;
std::map<cmXCodeObject*, cmXCodeObject*> FileRefToBuildFileMap;
std::vector<std::string> Architectures;