From 3cafb97c4e01876439c9566c239c22f6cd70d502 Mon Sep 17 00:00:00 2001
From: Alex Ciobanu <alex@rogue-research.com>
Date: Fri, 28 Mar 2014 14:42:23 -0400
Subject: [PATCH] Fixed CMP0046 policy warning message problem.

---
 Source/cmComputeTargetDepends.cxx | 25 +++++++++++++++++--------
 1 file changed, 17 insertions(+), 8 deletions(-)

diff --git a/Source/cmComputeTargetDepends.cxx b/Source/cmComputeTargetDepends.cxx
index b4dbce7..717aa74 100644
--- a/Source/cmComputeTargetDepends.cxx
+++ b/Source/cmComputeTargetDepends.cxx
@@ -348,27 +348,36 @@ void cmComputeTargetDepends::AddTargetDepend(int depender_index,
     {
     cmMakefile *makefile = depender->GetMakefile();
     cmake::MessageType messageType = cmake::AUTHOR_WARNING;
-    bool issueMessage = false;
+    bool issuePolicyMessage = false;
+    bool issueSpecificMessage = false;
     switch(depender->GetPolicyStatusCMP0046())
       {
       case cmPolicies::WARN:
-        issueMessage = true;
+        issuePolicyMessage = true;
       case cmPolicies::OLD:
         break;
       case cmPolicies::NEW:
       case cmPolicies::REQUIRED_IF_USED:
       case cmPolicies::REQUIRED_ALWAYS:
-        issueMessage = true;
+        issueSpecificMessage = true;
         messageType = cmake::FATAL_ERROR;
       }
-    if(issueMessage)
+    if(issuePolicyMessage || issueSpecificMessage)
       {
       cmake* cm = this->GlobalGenerator->GetCMakeInstance();
       cmOStringStream e;
-      e << (makefile->GetPolicies()
-        ->GetPolicyWarning(cmPolicies::CMP0046)) << "\n";
-      e << "The dependency target \"" <<  dependee_name
-        << "\" of target \"" << depender->GetName() << "\" does not exist.";
+      
+      if(issuePolicyMessage)
+        {
+        e << (makefile->GetPolicies()
+          ->GetPolicyWarning(cmPolicies::CMP0046)) << "\n";
+        }
+
+      if(issueSpecificMessage)
+        {
+        e << "The dependency target \"" <<  dependee_name
+          << "\" of target \"" << depender->GetName() << "\" does not exist.";
+        }
 
       cmListFileBacktrace nullBacktrace;
       cmListFileBacktrace const* backtrace =
-- 
1.8.3.4 (Apple Git-47)

