diff options
author | Stephen Kelly <steveire@gmail.com> | 2014-01-07 23:38:54 (GMT) |
---|---|---|
committer | Stephen Kelly <steveire@gmail.com> | 2014-01-08 15:06:41 (GMT) |
commit | 590d238914ff1b8652c0074e6715f51cad5eb7db (patch) | |
tree | cb1702341ebc8caa061305ddd1405b33571e8963 /Source/cmGeneratorTarget.cxx | |
parent | beb9cfae1798ef3e25be8d1cec7ce9ae33abec7b (diff) | |
download | CMake-590d238914ff1b8652c0074e6715f51cad5eb7db.zip CMake-590d238914ff1b8652c0074e6715f51cad5eb7db.tar.gz CMake-590d238914ff1b8652c0074e6715f51cad5eb7db.tar.bz2 |
cmTarget: Handle NO_SYSTEM_FROM_IMPORTED.
This handling was lost in commit faedd2be (cmTarget: Fix system include
annotation propagation., 2014-01-01).
Diffstat (limited to 'Source/cmGeneratorTarget.cxx')
-rw-r--r-- | Source/cmGeneratorTarget.cxx | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/Source/cmGeneratorTarget.cxx b/Source/cmGeneratorTarget.cxx index 6894cfc..2c976cd 100644 --- a/Source/cmGeneratorTarget.cxx +++ b/Source/cmGeneratorTarget.cxx @@ -65,7 +65,8 @@ cmGeneratorTarget::GetSourceDepends(cmSourceFile* sf) const static void handleSystemIncludesDep(cmMakefile *mf, const std::string &name, const char *config, cmTarget *headTarget, cmGeneratorExpressionDAGChecker *dagChecker, - std::vector<std::string>& result) + std::vector<std::string>& result, + bool excludeImported) { cmTarget* depTgt = mf->FindTargetToUse(name.c_str()); @@ -85,7 +86,7 @@ static void handleSystemIncludesDep(cmMakefile *mf, const std::string &name, config, false, headTarget, depTgt, dagChecker), result); } - if (!depTgt->IsImported()) + if (!depTgt->IsImported() || excludeImported) { return; } @@ -130,6 +131,9 @@ bool cmGeneratorTarget::IsSystemIncludeDirectory(const char *dir, this->GetName(), "SYSTEM_INCLUDE_DIRECTORIES", 0, 0); + bool excludeImported + = this->Target->GetPropertyAsBool("NO_SYSTEM_FROM_IMPORTED"); + std::vector<std::string> result; for (std::set<cmStdString>::const_iterator it = this->Target->GetSystemIncludeDirectories().begin(); @@ -156,7 +160,7 @@ bool cmGeneratorTarget::IsSystemIncludeDirectory(const char *dir, } handleSystemIncludesDep(this->Makefile, *li, config, this->Target, - &dagChecker, result); + &dagChecker, result, excludeImported); std::vector<std::string> deps; tgt->GetTransitivePropertyLinkLibraries(config, this->Target, deps); @@ -167,7 +171,7 @@ bool cmGeneratorTarget::IsSystemIncludeDirectory(const char *dir, if (uniqueDeps.insert(*di).second) { handleSystemIncludesDep(this->Makefile, *di, config, this->Target, - &dagChecker, result); + &dagChecker, result, excludeImported); } } } |