Merge topic 'hip-usr-include'

f4d28d9e27 HIP: Fix implicit include directory detection under /usr/include

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8534
This commit is contained in:
Brad King
2023-06-05 10:42:22 +00:00
committed by Kitware Robot
+11
View File
@@ -1201,6 +1201,17 @@ std::vector<BT<std::string>> cmLocalGenerator::GetIncludeDirectoriesImplicit(
for (size_t i = impDirVecOldSize; i < impDirVec.size(); ++i) {
cmSystemTools::ConvertToUnixSlashes(impDirVec[i]);
}
// The CMAKE_<LANG>_IMPLICIT_INCLUDE_DIRECTORIES are computed using
// try_compile in CMAKE_DETERMINE_COMPILER_ABI, but the implicit include
// directories are not known during that try_compile. This can be a
// problem when the HIP runtime include path is /usr/include because the
// runtime include path is always added to the userDirs and the compiler
// includes standard library headers via "__clang_hip_runtime_wrapper.h".
if (lang == "HIP" && impDirVec.size() == impDirVecOldSize &&
!cm::contains(impDirVec, "/usr/include")) {
implicitExclude.emplace("/usr/include");
}
}
// The Platform/UnixPaths module used to hard-code /usr/include for C, CXX,