summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2015-08-05 15:37:48 (GMT)
committerStephen Kelly <steveire@gmail.com>2015-08-26 17:46:31 (GMT)
commit3846ebcf2b60b73e3eec848bd3dd41711eac5dc4 (patch)
tree2e994122916c4d1285b4e1a19bc2da14ec30b406
parenta7f5d70dde50ac74726f3c23d276d2fdac70d659 (diff)
downloadCMake-3846ebcf2b60b73e3eec848bd3dd41711eac5dc4.zip
CMake-3846ebcf2b60b73e3eec848bd3dd41711eac5dc4.tar.gz
CMake-3846ebcf2b60b73e3eec848bd3dd41711eac5dc4.tar.bz2
cmLinkItem: Add cmLinkImplementation type.
-rw-r--r--Source/cmComputeLinkDepends.cxx2
-rw-r--r--Source/cmComputeTargetDepends.cxx2
-rw-r--r--Source/cmGeneratorTarget.cxx6
-rw-r--r--Source/cmGlobalXCodeGenerator.cxx2
-rw-r--r--Source/cmLinkItem.h6
-rw-r--r--Source/cmTarget.cxx4
-rw-r--r--Source/cmTarget.h7
7 files changed, 15 insertions, 14 deletions
diff --git a/Source/cmComputeLinkDepends.cxx b/Source/cmComputeLinkDepends.cxx
index 5e9627b..4b7faa7 100644
--- a/Source/cmComputeLinkDepends.cxx
+++ b/Source/cmComputeLinkDepends.cxx
@@ -554,7 +554,7 @@ void cmComputeLinkDepends::AddVarLinkEntries(int depender_index,
void cmComputeLinkDepends::AddDirectLinkEntries()
{
// Add direct link dependencies in this configuration.
- cmTarget::LinkImplementation const* impl =
+ cmLinkImplementation const* impl =
this->Target->Target->GetLinkImplementation(this->Config);
this->AddLinkEntries(-1, impl->Libraries);
for(std::vector<cmLinkItem>::const_iterator
diff --git a/Source/cmComputeTargetDepends.cxx b/Source/cmComputeTargetDepends.cxx
index 83b2a0e..8ed4ddb 100644
--- a/Source/cmComputeTargetDepends.cxx
+++ b/Source/cmComputeTargetDepends.cxx
@@ -252,7 +252,7 @@ void cmComputeTargetDepends::CollectTargetDepends(int depender_index)
}
}
- cmTarget::LinkImplementation const* impl =
+ cmLinkImplementation const* impl =
depender->Target->GetLinkImplementation(*it);
// A target should not depend on itself.
diff --git a/Source/cmGeneratorTarget.cxx b/Source/cmGeneratorTarget.cxx
index c499cd9..057aa07 100644
--- a/Source/cmGeneratorTarget.cxx
+++ b/Source/cmGeneratorTarget.cxx
@@ -1335,7 +1335,7 @@ void cmGeneratorTarget::ComputeLinkClosure(const std::string& config,
{
// Get languages built in this target.
UNORDERED_SET<std::string> languages;
- cmTarget::LinkImplementation const* impl =
+ cmLinkImplementation const* impl =
this->Target->GetLinkImplementation(config);
assert(impl);
for(std::vector<std::string>::const_iterator li = impl->Languages.begin();
@@ -4057,7 +4057,7 @@ void cmGeneratorTarget::ComputeLinkInterface(const std::string& config,
}
if (this->GetType() != cmTarget::INTERFACE_LIBRARY)
{
- cmTarget::LinkImplementation const* impl =
+ cmLinkImplementation const* impl =
this->Target->GetLinkImplementation(config);
for(std::vector<cmLinkImplItem>::const_iterator
li = impl->Libraries.begin(); li != impl->Libraries.end(); ++li)
@@ -4098,7 +4098,7 @@ void cmGeneratorTarget::ComputeLinkInterface(const std::string& config,
if(this->Target->LinkLanguagePropagatesToDependents())
{
// Targets using this archive need its language runtime libraries.
- if(cmTarget::LinkImplementation const* impl =
+ if(cmLinkImplementation const* impl =
this->Target->GetLinkImplementation(config))
{
iface.Languages = impl->Languages;
diff --git a/Source/cmGlobalXCodeGenerator.cxx b/Source/cmGlobalXCodeGenerator.cxx
index 87c61dd..f78a8a1 100644
--- a/Source/cmGlobalXCodeGenerator.cxx
+++ b/Source/cmGlobalXCodeGenerator.cxx
@@ -1383,7 +1383,7 @@ void cmGlobalXCodeGenerator::ForceLinkerLanguage(cmTarget& cmtarget)
if(llang.empty()) { return; }
// If the language is compiled as a source trust Xcode to link with it.
- cmTarget::LinkImplementation const* impl =
+ cmLinkImplementation const* impl =
cmtarget.GetLinkImplementation("NOCONFIG");
for(std::vector<std::string>::const_iterator li = impl->Languages.begin();
li != impl->Languages.end(); ++li)
diff --git a/Source/cmLinkItem.h b/Source/cmLinkItem.h
index 91220b8..b2336f0 100644
--- a/Source/cmLinkItem.h
+++ b/Source/cmLinkItem.h
@@ -101,4 +101,10 @@ struct cmHeadToLinkInterfaceMap:
{
};
+struct cmLinkImplementation: public cmLinkImplementationLibraries
+{
+ // Languages whose runtime libraries must be linked.
+ std::vector<std::string> Languages;
+};
+
#endif
diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx
index ea03ffe..c007994 100644
--- a/Source/cmTarget.cxx
+++ b/Source/cmTarget.cxx
@@ -96,7 +96,7 @@ public:
ImportInfoMapType ImportInfoMap;
// Cache link implementation computation from each configuration.
- struct OptionalLinkImplementation: public cmTarget::LinkImplementation
+ struct OptionalLinkImplementation: public cmLinkImplementation
{
OptionalLinkImplementation():
LibrariesDone(false), LanguagesDone(false),
@@ -3584,7 +3584,7 @@ void cmTargetInternals::AddInterfaceEntries(
}
//----------------------------------------------------------------------------
-cmTarget::LinkImplementation const*
+const cmLinkImplementation *
cmTarget::GetLinkImplementation(const std::string& config) const
{
// There is no link implementation for imported targets.
diff --git a/Source/cmTarget.h b/Source/cmTarget.h
index 34a75ea..19cc220 100644
--- a/Source/cmTarget.h
+++ b/Source/cmTarget.h
@@ -231,12 +231,7 @@ public:
void GetObjectLibrariesCMP0026(std::vector<cmTarget*>& objlibs) const;
- struct LinkImplementation: public cmLinkImplementationLibraries
- {
- // Languages whose runtime libraries must be linked.
- std::vector<std::string> Languages;
- };
- LinkImplementation const*
+ cmLinkImplementation const*
GetLinkImplementation(const std::string& config) const;
cmLinkImplementationLibraries const*