summaryrefslogtreecommitdiffstats
path: root/Source/cmGeneratorTarget.h
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2015-08-05 16:17:55 (GMT)
committerStephen Kelly <steveire@gmail.com>2015-10-08 21:41:29 (GMT)
commitdf42dbb3558a6ba604ab584b21dfe7f8722eb025 (patch)
tree3d45a381504584b3ae8a726962a596fcfe76777a /Source/cmGeneratorTarget.h
parenta8429a402da4aeb717f4af234c8d14d1c4e10ed7 (diff)
downloadCMake-df42dbb3558a6ba604ab584b21dfe7f8722eb025.zip
CMake-df42dbb3558a6ba604ab584b21dfe7f8722eb025.tar.gz
CMake-df42dbb3558a6ba604ab584b21dfe7f8722eb025.tar.bz2
cmGeneratorTarget: Move link implementation from cmTarget.
Diffstat (limited to 'Source/cmGeneratorTarget.h')
-rw-r--r--Source/cmGeneratorTarget.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/Source/cmGeneratorTarget.h b/Source/cmGeneratorTarget.h
index e8c5e04..f5805f1 100644
--- a/Source/cmGeneratorTarget.h
+++ b/Source/cmGeneratorTarget.h
@@ -207,6 +207,13 @@ public:
cmOptionalLinkImplementation& impl
) const;
+ cmLinkImplementationLibraries const*
+ GetLinkImplementationLibraries(const std::string& config) const;
+
+ void ComputeLinkImplementationLibraries(const std::string& config,
+ cmOptionalLinkImplementation& impl,
+ cmTarget const* head) const;
+
// Compute the set of languages compiled by the target. This is
// computed every time it is called because the languages can change
// when source file properties are changed and we do not have enough
@@ -462,6 +469,16 @@ private:
void GetSourceFiles(std::vector<std::string>& files,
const std::string& config) const;
+ struct HeadToLinkImplementationMap:
+ public std::map<cmTarget const*, cmOptionalLinkImplementation> {};
+ typedef std::map<std::string,
+ HeadToLinkImplementationMap> LinkImplMapType;
+ mutable LinkImplMapType LinkImplMap;
+
+ cmLinkImplementationLibraries const*
+ GetLinkImplementationLibrariesInternal(const std::string& config,
+ cmTarget const* head) const;
+
typedef std::pair<std::string, bool> OutputNameKey;
typedef std::map<OutputNameKey, std::string> OutputNameMapType;
mutable OutputNameMapType OutputNameMap;
@@ -477,6 +494,12 @@ public:
std::vector<cmTarget const*> const&
GetLinkImplementationClosure(const std::string& config) const;
+ mutable std::map<std::string, std::string> MaxLanguageStandards;
+ std::map<std::string, std::string> const&
+ GetMaxLanguageStandards() const
+ {
+ return this->MaxLanguageStandards;
+ }
};
struct cmStrictTargetComparison {