| 
					
				 | 
			
			
				@@ -963,9 +963,9 @@ void cmGlobalGenerator::EnableLanguage( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } // end if in try compile 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }   // end need test language 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // load linker configuration,  if required 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (mf->GetDefinition(cmStrCat("CMAKE_", lang, "_USE_LINKER_INFORMATION")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          .IsOn()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // load linker configuration, if required 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (mf->IsOn(cmStrCat("CMAKE_", lang, "_COMPILER_WORKS")) && 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        mf->IsOn(cmStrCat("CMAKE_", lang, "_USE_LINKER_INFORMATION"))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       std::string langLinkerLoadedVar = 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         cmStrCat("CMAKE_", lang, "_LINKER_INFORMATION_LOADED"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (!mf->GetDefinition(langLinkerLoadedVar)) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -982,6 +982,18 @@ void cmGlobalGenerator::EnableLanguage( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             "Could not process cmake module file: ", informationFile)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (needTestLanguage[lang]) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (!this->CMakeInstance->GetIsInTryCompile()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          std::string testLang = 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            cmStrCat("Internal/CMakeInspect", lang, "Linker.cmake"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          std::string ifpath = mf->GetModulesFile(testLang); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (!mf->ReadListFile(ifpath)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            cmSystemTools::Error( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              cmStrCat("Could not find cmake module file: ", testLang)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // Store the shared library flags so that we can satisfy CMP0018 
			 |