|
|
@@ -1940,9 +1940,11 @@ void cmLocalGenerator::AddLanguageFlags(std::string& flags,
|
|
|
this->AddConfigVariableFlags(flags, cmStrCat("CMAKE_", lang, "_FLAGS"),
|
|
|
config);
|
|
|
|
|
|
- std::string const& compiler = this->Makefile->GetSafeDefinition(
|
|
|
+ std::string compiler = this->Makefile->GetSafeDefinition(
|
|
|
cmStrCat("CMAKE_", lang, "_COMPILER_ID"));
|
|
|
|
|
|
+ std::string compilerSimulateId = this->Makefile->GetSafeDefinition(
|
|
|
+ cmStrCat("CMAKE_", lang, "_SIMULATE_ID"));
|
|
|
if (lang == "Swift") {
|
|
|
if (cmProp v = target->GetProperty("Swift_LANGUAGE_VERSION")) {
|
|
|
if (cmSystemTools::VersionCompare(cmSystemTools::OP_GREATER_EQUAL,
|
|
|
@@ -1957,14 +1959,24 @@ void cmLocalGenerator::AddLanguageFlags(std::string& flags,
|
|
|
target->AddCUDAToolkitFlags(flags);
|
|
|
} else if (lang == "ISPC") {
|
|
|
target->AddISPCTargetFlags(flags);
|
|
|
+ } else if (lang == "RC" &&
|
|
|
+ this->Makefile->GetSafeDefinition("CMAKE_RC_COMPILER")
|
|
|
+ .find("llvm-rc") != std::string::npos) {
|
|
|
+ compiler = this->Makefile->GetSafeDefinition("CMAKE_C_COMPILER_ID");
|
|
|
+ if (!compiler.empty()) {
|
|
|
+ compilerSimulateId =
|
|
|
+ this->Makefile->GetSafeDefinition("CMAKE_C_SIMULATE_ID");
|
|
|
+ } else {
|
|
|
+ compiler = this->Makefile->GetSafeDefinition("CMAKE_CXX_COMPILER_ID");
|
|
|
+ compilerSimulateId =
|
|
|
+ this->Makefile->GetSafeDefinition("CMAKE_CXX_SIMULATE_ID");
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
// Add VFS Overlay for Clang compiliers
|
|
|
if (compiler == "Clang") {
|
|
|
if (cmProp vfsOverlay =
|
|
|
this->Makefile->GetDefinition("CMAKE_CLANG_VFS_OVERLAY")) {
|
|
|
- std::string const& compilerSimulateId =
|
|
|
- this->Makefile->GetSafeDefinition(
|
|
|
- cmStrCat("CMAKE_", lang, "_SIMULATE_ID"));
|
|
|
if (compilerSimulateId == "MSVC") {
|
|
|
this->AppendCompileOptions(
|
|
|
flags,
|