| 
														
															@@ -191,6 +191,23 @@ bool cmGlobalVisualStudio10Generator::SetGeneratorToolset( 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   } 
														 | 
														
														 | 
														
															   } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  if (this->GeneratorToolsetFortran) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    if (*this->GeneratorToolsetFortran != "ifx" && 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        *this->GeneratorToolsetFortran != "ifort") { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+      mf->IssueMessage(MessageType::FATAL_ERROR, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                       cmStrCat("Generator\n" 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                "  ", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                this->GetName(), 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                "\n" 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                "given toolset\n" 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                "  fortran=", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                *this->GeneratorToolsetFortran, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                "\n" 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                "but the value is not \"ifx\" or \"ifort\".")); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+      this->GeneratorToolsetFortran = cm::nullopt; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   if (!this->GeneratorToolsetVersion.empty() && 
														 | 
														
														 | 
														
															   if (!this->GeneratorToolsetVersion.empty() && 
														 | 
													
												
											
												
													
														| 
														 | 
														
															       this->GeneratorToolsetVersion != "Test Toolset Version"_s) { 
														 | 
														
														 | 
														
															       this->GeneratorToolsetVersion != "Test Toolset Version"_s) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     // If a specific minor version of the MSVC toolset is requested, verify 
														 | 
														
														 | 
														
															     // If a specific minor version of the MSVC toolset is requested, verify 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -300,6 +317,9 @@ bool cmGlobalVisualStudio10Generator::SetGeneratorToolset( 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   if (const char* cudaDir = this->GetPlatformToolsetCudaCustomDir()) { 
														 | 
														
														 | 
														
															   if (const char* cudaDir = this->GetPlatformToolsetCudaCustomDir()) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     mf->AddDefinition("CMAKE_VS_PLATFORM_TOOLSET_CUDA_CUSTOM_DIR", cudaDir); 
														 | 
														
														 | 
														
															     mf->AddDefinition("CMAKE_VS_PLATFORM_TOOLSET_CUDA_CUSTOM_DIR", cudaDir); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   } 
														 | 
														
														 | 
														
															   } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  if (cm::optional<std::string> fortran = this->GetPlatformToolsetFortran()) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    mf->AddDefinition("CMAKE_VS_PLATFORM_TOOLSET_FORTRAN", *fortran); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   if (const char* vcTargetsDir = this->GetCustomVCTargetsPath()) { 
														 | 
														
														 | 
														
															   if (const char* vcTargetsDir = this->GetCustomVCTargetsPath()) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     mf->AddDefinition("CMAKE_VS_PLATFORM_TOOLSET_VCTARGETS_CUSTOM_DIR", 
														 | 
														
														 | 
														
															     mf->AddDefinition("CMAKE_VS_PLATFORM_TOOLSET_VCTARGETS_CUSTOM_DIR", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                       vcTargetsDir); 
														 | 
														
														 | 
														
															                       vcTargetsDir); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -410,6 +430,10 @@ bool cmGlobalVisualStudio10Generator::ProcessGeneratorToolsetField( 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     cmSystemTools::ConvertToUnixSlashes(this->CustomFlagTableDir); 
														 | 
														
														 | 
														
															     cmSystemTools::ConvertToUnixSlashes(this->CustomFlagTableDir); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     return true; 
														 | 
														
														 | 
														
															     return true; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   } 
														 | 
														
														 | 
														
															   } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  if (key == "fortran"_s) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    this->GeneratorToolsetFortran = value; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    return true; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   if (key == "version"_s) { 
														 | 
														
														 | 
														
															   if (key == "version"_s) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     this->GeneratorToolsetVersion = value; 
														 | 
														
														 | 
														
															     this->GeneratorToolsetVersion = value; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     return true; 
														 | 
														
														 | 
														
															     return true; 
														 |