1
0
mirror of https://github.com/Kitware/CMake.git synced 2025-10-17 07:11:52 +08:00

cmGlobalNinjaGenerator: use gnu compatible paths with clang in gnu mode

This commit is contained in:
Zsolt Parragi
2019-02-20 12:18:15 +01:00
parent 3d0210d8dc
commit b7d5ef23e9

View File

@@ -639,13 +639,20 @@ void cmGlobalNinjaGenerator::EnableLanguage(
this->ResolveLanguageCompiler(l, mf, optional); this->ResolveLanguageCompiler(l, mf, optional);
} }
#ifdef _WIN32 #ifdef _WIN32
if ((mf->GetSafeDefinition("CMAKE_C_SIMULATE_ID") != "MSVC") && const bool clangGnuMode =
(mf->GetSafeDefinition("CMAKE_CXX_SIMULATE_ID") != "MSVC") && ((mf->GetSafeDefinition("CMAKE_C_COMPILER_ID") == "Clang") &&
(mf->IsOn("CMAKE_COMPILER_IS_MINGW") || (mf->GetSafeDefinition("CMAKE_C_COMPILER_FRONTEND_VARIANT") == "GNU")) ||
(mf->GetSafeDefinition("CMAKE_C_COMPILER_ID") == "GNU") || ((mf->GetSafeDefinition("CMAKE_CXX_COMPILER_ID") == "Clang") &&
(mf->GetSafeDefinition("CMAKE_CXX_COMPILER_ID") == "GNU") || (mf->GetSafeDefinition("CMAKE_CXX_COMPILER_FRONTEND_VARIANT") == "GNU"));
(mf->GetSafeDefinition("CMAKE_C_COMPILER_ID") == "Clang") ||
(mf->GetSafeDefinition("CMAKE_CXX_COMPILER_ID") == "Clang"))) { if (clangGnuMode ||
((mf->GetSafeDefinition("CMAKE_C_SIMULATE_ID") != "MSVC") &&
(mf->GetSafeDefinition("CMAKE_CXX_SIMULATE_ID") != "MSVC") &&
(mf->IsOn("CMAKE_COMPILER_IS_MINGW") ||
(mf->GetSafeDefinition("CMAKE_C_COMPILER_ID") == "GNU") ||
(mf->GetSafeDefinition("CMAKE_CXX_COMPILER_ID") == "GNU") ||
(mf->GetSafeDefinition("CMAKE_C_COMPILER_ID") == "Clang") ||
(mf->GetSafeDefinition("CMAKE_CXX_COMPILER_ID") == "Clang")))) {
this->UsingGCCOnWindows = true; this->UsingGCCOnWindows = true;
} }
#endif #endif