cmTarget: Handle NO_SYSTEM_FROM_IMPORTED.
This handling was lost in commit faedd2be
(cmTarget: Fix system include
annotation propagation., 2014-01-01).
This commit is contained in:
parent
beb9cfae17
commit
590d238914
|
@ -65,7 +65,8 @@ cmGeneratorTarget::GetSourceDepends(cmSourceFile* sf) const
|
||||||
static void handleSystemIncludesDep(cmMakefile *mf, const std::string &name,
|
static void handleSystemIncludesDep(cmMakefile *mf, const std::string &name,
|
||||||
const char *config, cmTarget *headTarget,
|
const char *config, cmTarget *headTarget,
|
||||||
cmGeneratorExpressionDAGChecker *dagChecker,
|
cmGeneratorExpressionDAGChecker *dagChecker,
|
||||||
std::vector<std::string>& result)
|
std::vector<std::string>& result,
|
||||||
|
bool excludeImported)
|
||||||
{
|
{
|
||||||
cmTarget* depTgt = mf->FindTargetToUse(name.c_str());
|
cmTarget* depTgt = mf->FindTargetToUse(name.c_str());
|
||||||
|
|
||||||
|
@ -85,7 +86,7 @@ static void handleSystemIncludesDep(cmMakefile *mf, const std::string &name,
|
||||||
config, false, headTarget,
|
config, false, headTarget,
|
||||||
depTgt, dagChecker), result);
|
depTgt, dagChecker), result);
|
||||||
}
|
}
|
||||||
if (!depTgt->IsImported())
|
if (!depTgt->IsImported() || excludeImported)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -130,6 +131,9 @@ bool cmGeneratorTarget::IsSystemIncludeDirectory(const char *dir,
|
||||||
this->GetName(),
|
this->GetName(),
|
||||||
"SYSTEM_INCLUDE_DIRECTORIES", 0, 0);
|
"SYSTEM_INCLUDE_DIRECTORIES", 0, 0);
|
||||||
|
|
||||||
|
bool excludeImported
|
||||||
|
= this->Target->GetPropertyAsBool("NO_SYSTEM_FROM_IMPORTED");
|
||||||
|
|
||||||
std::vector<std::string> result;
|
std::vector<std::string> result;
|
||||||
for (std::set<cmStdString>::const_iterator
|
for (std::set<cmStdString>::const_iterator
|
||||||
it = this->Target->GetSystemIncludeDirectories().begin();
|
it = this->Target->GetSystemIncludeDirectories().begin();
|
||||||
|
@ -156,7 +160,7 @@ bool cmGeneratorTarget::IsSystemIncludeDirectory(const char *dir,
|
||||||
}
|
}
|
||||||
|
|
||||||
handleSystemIncludesDep(this->Makefile, *li, config, this->Target,
|
handleSystemIncludesDep(this->Makefile, *li, config, this->Target,
|
||||||
&dagChecker, result);
|
&dagChecker, result, excludeImported);
|
||||||
|
|
||||||
std::vector<std::string> deps;
|
std::vector<std::string> deps;
|
||||||
tgt->GetTransitivePropertyLinkLibraries(config, this->Target, deps);
|
tgt->GetTransitivePropertyLinkLibraries(config, this->Target, deps);
|
||||||
|
@ -167,7 +171,7 @@ bool cmGeneratorTarget::IsSystemIncludeDirectory(const char *dir,
|
||||||
if (uniqueDeps.insert(*di).second)
|
if (uniqueDeps.insert(*di).second)
|
||||||
{
|
{
|
||||||
handleSystemIncludesDep(this->Makefile, *di, config, this->Target,
|
handleSystemIncludesDep(this->Makefile, *di, config, this->Target,
|
||||||
&dagChecker, result);
|
&dagChecker, result, excludeImported);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue