cmGeneratorTarget: Move IsNullImpliedByLinkLibraries from cmTarget.

This commit is contained in:
Stephen Kelly 2015-08-05 18:41:53 +02:00
parent 0bae4a416f
commit 49017cddab
4 changed files with 13 additions and 12 deletions

View File

@ -3928,7 +3928,7 @@ PropertyType checkInterfacePropertyCompatibility(cmGeneratorTarget const* tgt,
.find(p) .find(p)
!= tgt->Target->GetProperties().end(); != tgt->Target->GetProperties().end();
const bool impliedByUse = const bool impliedByUse =
tgt->Target->IsNullImpliedByLinkLibraries(p); tgt->IsNullImpliedByLinkLibraries(p);
assert((impliedByUse ^ explicitlySet) assert((impliedByUse ^ explicitlySet)
|| (!impliedByUse && !explicitlySet)); || (!impliedByUse && !explicitlySet));
@ -5045,6 +5045,14 @@ cmGeneratorTarget::GetLinkImplementationLibrariesInternal(
return &impl; return &impl;
} }
//----------------------------------------------------------------------------
bool
cmGeneratorTarget::IsNullImpliedByLinkLibraries(const std::string &p) const
{
return this->LinkImplicitNullProperties.find(p)
!= this->LinkImplicitNullProperties.end();
}
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
void cmGeneratorTarget::ComputeLinkImplementationLibraries( void cmGeneratorTarget::ComputeLinkImplementationLibraries(
const std::string& config, const std::string& config,
@ -5130,7 +5138,7 @@ void cmGeneratorTarget::ComputeLinkImplementationLibraries(
{ {
if (!this->GetProperty(*it)) if (!this->GetProperty(*it))
{ {
this->Target->LinkImplicitNullProperties.insert(*it); this->LinkImplicitNullProperties.insert(*it);
} }
} }
cge->GetMaxLanguageStandard(this->Target, cge->GetMaxLanguageStandard(this->Target,

View File

@ -317,6 +317,8 @@ public:
typedef std::map<std::string, CompileInfo> CompileInfoMapType; typedef std::map<std::string, CompileInfo> CompileInfoMapType;
mutable CompileInfoMapType CompileInfoMap; mutable CompileInfoMapType CompileInfoMap;
bool IsNullImpliedByLinkLibraries(const std::string &p) const;
/** Get the name of the compiler pdb file for the target. */ /** Get the name of the compiler pdb file for the target. */
std::string GetCompilePDBName(const std::string& config="") const; std::string GetCompilePDBName(const std::string& config="") const;
@ -486,6 +488,7 @@ private:
std::vector<TargetPropertyEntry*> CompileFeaturesEntries; std::vector<TargetPropertyEntry*> CompileFeaturesEntries;
std::vector<TargetPropertyEntry*> CompileDefinitionsEntries; std::vector<TargetPropertyEntry*> CompileDefinitionsEntries;
std::vector<TargetPropertyEntry*> SourceEntries; std::vector<TargetPropertyEntry*> SourceEntries;
mutable std::set<std::string> LinkImplicitNullProperties;
void ExpandLinkItems(std::string const& prop, std::string const& value, void ExpandLinkItems(std::string const& prop, std::string const& value,
std::string const& config, cmTarget const* headTarget, std::string const& config, cmTarget const* headTarget,

View File

@ -2553,13 +2553,6 @@ const char* cmTarget::GetExportMacro() const
} }
} }
//----------------------------------------------------------------------------
bool cmTarget::IsNullImpliedByLinkLibraries(const std::string &p) const
{
return this->LinkImplicitNullProperties.find(p)
!= this->LinkImplicitNullProperties.end();
}
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
void void
cmTarget::GetObjectLibrariesCMP0026(std::vector<cmTarget*>& objlibs) const cmTarget::GetObjectLibrariesCMP0026(std::vector<cmTarget*>& objlibs) const

View File

@ -326,8 +326,6 @@ public:
void AppendBuildInterfaceIncludes(); void AppendBuildInterfaceIncludes();
bool IsNullImpliedByLinkLibraries(const std::string &p) const;
std::string GetDebugGeneratorExpressions(const std::string &value, std::string GetDebugGeneratorExpressions(const std::string &value,
cmTarget::LinkLibraryType llt) const; cmTarget::LinkLibraryType llt) const;
@ -439,7 +437,6 @@ private:
std::set<std::string> SystemIncludeDirectories; std::set<std::string> SystemIncludeDirectories;
std::set<std::string> LinkDirectoriesEmmitted; std::set<std::string> LinkDirectoriesEmmitted;
std::set<std::string> Utilities; std::set<std::string> Utilities;
mutable std::set<std::string> LinkImplicitNullProperties;
std::map<std::string, cmListFileBacktrace> UtilityBacktraces; std::map<std::string, cmListFileBacktrace> UtilityBacktraces;
cmPolicies::PolicyMap PolicyMap; cmPolicies::PolicyMap PolicyMap;
std::string Name; std::string Name;