| 
					
				 | 
			
			
				@@ -1100,7 +1100,7 @@ struct TargetFilesystemArtifact : public cmGeneratorExpressionNode 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   std::string Evaluate(const std::vector<std::string> ¶meters, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        cmGeneratorExpressionContext *context, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        const GeneratorExpressionContent *content, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                       cmGeneratorExpressionDAGChecker *) const 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                       cmGeneratorExpressionDAGChecker *dagChecker) const 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // Lookup the referenced target. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     std::string name = *parameters.begin(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1125,6 +1125,13 @@ struct TargetFilesystemArtifact : public cmGeneratorExpressionNode 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   "Target \"" + name + "\" is not an executable or library."); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       return std::string(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (dagChecker && dagChecker->EvaluatingLinkLibraries(name.c_str())) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ::reportError(context, content->GetOriginalExpression(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    "Expressions which require the linker language may not " 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    "be used while evaluating link libraries"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return std::string(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     context->DependTargets.insert(target); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     context->AllTargets.insert(target); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |