diff options
author | Stephen Kelly <steveire@gmail.com> | 2015-08-04 17:19:49 (GMT) |
---|---|---|
committer | Stephen Kelly <steveire@gmail.com> | 2015-08-05 16:20:49 (GMT) |
commit | f8076644ce21c5c20cb0d368d25c191a05364481 (patch) | |
tree | 693a0400ceac68d6eb5550e29ec86f9f6d80b946 /Source/cmGeneratorTarget.h | |
parent | 7c809fa2a675b7e669e76683f73397e38dd22999 (diff) | |
download | CMake-f8076644ce21c5c20cb0d368d25c191a05364481.zip CMake-f8076644ce21c5c20cb0d368d25c191a05364481.tar.gz CMake-f8076644ce21c5c20cb0d368d25c191a05364481.tar.bz2 |
cmGeneratorTarget: Move GetLinkClosure from cmTarget.
Diffstat (limited to 'Source/cmGeneratorTarget.h')
-rw-r--r-- | Source/cmGeneratorTarget.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/Source/cmGeneratorTarget.h b/Source/cmGeneratorTarget.h index 41fb848..a1193a6 100644 --- a/Source/cmGeneratorTarget.h +++ b/Source/cmGeneratorTarget.h @@ -165,6 +165,20 @@ public: std::string GetModuleDefinitionFile(const std::string& config) const; + /** Link information from the transitive closure of the link + implementation and the interfaces of its dependencies. */ + struct LinkClosure + { + // The preferred linker language. + std::string LinkerLanguage; + + // Languages whose runtime libraries must be linked. + std::vector<std::string> Languages; + }; + + LinkClosure const* GetLinkClosure(const std::string& config) const; + void ComputeLinkClosure(const std::string& config, LinkClosure& lc) const; + /** Full path with trailing slash to the top-level directory holding object files for this target. Includes the build time config name placeholder if needed for the generator. */ @@ -301,6 +315,9 @@ private: std::string& outPrefix, std::string& outBase, std::string& outSuffix) const; + typedef std::map<std::string, LinkClosure> LinkClosureMapType; + mutable LinkClosureMapType LinkClosureMap; + struct CompatibleInterfacesBase { std::set<std::string> PropsBool; |