summaryrefslogtreecommitdiffstats
path: root/Source/cmGeneratorTarget.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2018-03-13 17:42:38 (GMT)
committerKitware Robot <kwrobot@kitware.com>2018-03-13 17:42:45 (GMT)
commitbdbee54a8317806b4a93aec9f8eee1b876da9a32 (patch)
tree94140855754fd9e6ee81b9d71995606eeae8599a /Source/cmGeneratorTarget.cxx
parent7c557e2227f446d1c265ac7b5aa8055e3f4ea713 (diff)
parent1b5e52fd651ab17b3f9efb8f3e2e069550bf7a66 (diff)
downloadCMake-bdbee54a8317806b4a93aec9f8eee1b876da9a32.zip
CMake-bdbee54a8317806b4a93aec9f8eee1b876da9a32.tar.gz
CMake-bdbee54a8317806b4a93aec9f8eee1b876da9a32.tar.bz2
Merge topic 'genex-COMPILE_LANGUAGE-system-include'
1b5e52fd65 Genex: Fix COMPILE_LANGUAGE propagation through try_compile 2deb9b7f34 Genex: Fix COMPILE_LANGUAGE in SYSTEM include directories Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1844
Diffstat (limited to 'Source/cmGeneratorTarget.cxx')
-rw-r--r--Source/cmGeneratorTarget.cxx14
1 files changed, 8 insertions, 6 deletions
diff --git a/Source/cmGeneratorTarget.cxx b/Source/cmGeneratorTarget.cxx
index b9e2978..66105b5 100644
--- a/Source/cmGeneratorTarget.cxx
+++ b/Source/cmGeneratorTarget.cxx
@@ -387,14 +387,15 @@ static void handleSystemIncludesDep(
cmLocalGenerator* lg, cmGeneratorTarget const* depTgt,
const std::string& config, cmGeneratorTarget const* headTarget,
cmGeneratorExpressionDAGChecker* dagChecker,
- std::vector<std::string>& result, bool excludeImported)
+ std::vector<std::string>& result, bool excludeImported,
+ std::string const& language)
{
if (const char* dirs =
depTgt->GetProperty("INTERFACE_SYSTEM_INCLUDE_DIRECTORIES")) {
cmGeneratorExpression ge;
cmSystemTools::ExpandListArgument(
ge.Parse(dirs)->Evaluate(lg, config, false, headTarget, depTgt,
- dagChecker),
+ dagChecker, language),
result);
}
if (!depTgt->IsImported() || excludeImported) {
@@ -406,7 +407,7 @@ static void handleSystemIncludesDep(
cmGeneratorExpression ge;
cmSystemTools::ExpandListArgument(
ge.Parse(dirs)->Evaluate(lg, config, false, headTarget, depTgt,
- dagChecker),
+ dagChecker, language),
result);
}
}
@@ -738,7 +739,8 @@ const char* cmGeneratorTarget::GetLocationForBuild() const
}
bool cmGeneratorTarget::IsSystemIncludeDirectory(
- const std::string& dir, const std::string& config) const
+ const std::string& dir, const std::string& config,
+ const std::string& language) const
{
assert(this->GetType() != cmStateEnums::INTERFACE_LIBRARY);
std::string config_upper;
@@ -761,7 +763,7 @@ bool cmGeneratorTarget::IsSystemIncludeDirectory(
cmGeneratorExpression ge;
cmSystemTools::ExpandListArgument(
ge.Parse(it)->Evaluate(this->LocalGenerator, config, false, this,
- &dagChecker),
+ &dagChecker, language),
result);
}
@@ -769,7 +771,7 @@ bool cmGeneratorTarget::IsSystemIncludeDirectory(
this->GetLinkImplementationClosure(config);
for (cmGeneratorTarget const* dep : deps) {
handleSystemIncludesDep(this->LocalGenerator, dep, config, this,
- &dagChecker, result, excludeImported);
+ &dagChecker, result, excludeImported, language);
}
std::for_each(result.begin(), result.end(),