summaryrefslogtreecommitdiffstats
path: root/Source/cmServerProtocol.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2018-03-12 15:37:11 (GMT)
committerBrad King <brad.king@kitware.com>2018-03-12 15:45:01 (GMT)
commit2deb9b7f3495a9083b8d5341f867fed615da1470 (patch)
tree2dbffba599be936e428fba19c83f99a78c765037 /Source/cmServerProtocol.cxx
parentc5541cf0da1093635fea7da5a40e64e481b5477e (diff)
downloadCMake-2deb9b7f3495a9083b8d5341f867fed615da1470.zip
CMake-2deb9b7f3495a9083b8d5341f867fed615da1470.tar.gz
CMake-2deb9b7f3495a9083b8d5341f867fed615da1470.tar.bz2
Genex: Fix COMPILE_LANGUAGE in SYSTEM include directories
When evaluating `INTERFACE_SYSTEM_INCLUDE_DIRECTORIES`, or evaluating `INTERFACE_INCLUDE_DIRECTORIES` on an imported target, thread the compile language through to the generator expression evaluator so that it can support `$<COMPILE_LANGUAGE:...>`. Fixes: #17811
Diffstat (limited to 'Source/cmServerProtocol.cxx')
-rw-r--r--Source/cmServerProtocol.cxx7
1 files changed, 4 insertions, 3 deletions
diff --git a/Source/cmServerProtocol.cxx b/Source/cmServerProtocol.cxx
index fbfaa40..7c10110 100644
--- a/Source/cmServerProtocol.cxx
+++ b/Source/cmServerProtocol.cxx
@@ -725,8 +725,9 @@ static Json::Value DumpSourceFilesList(
lg->AppendIncludeDirectories(includes, evaluatedIncludes, *file);
for (const auto& include : includes) {
- fileData.IncludePathList.push_back(std::make_pair(
- include, target->IsSystemIncludeDirectory(include, config)));
+ fileData.IncludePathList.push_back(
+ std::make_pair(include, target->IsSystemIncludeDirectory(
+ include, config, fileData.Language)));
}
}
@@ -1005,7 +1006,7 @@ static Json::Value DumpTarget(cmGeneratorTarget* target,
lg->GetIncludeDirectories(includePathList, target, lang, config, true);
for (std::string const& i : includePathList) {
ld.IncludePathList.push_back(
- std::make_pair(i, target->IsSystemIncludeDirectory(i, config)));
+ std::make_pair(i, target->IsSystemIncludeDirectory(i, config, lang)));
}
}