Browse Source

Merge branch 'output-CMP0022-entries' into policy-CMP0022-fixes

Brad King 12 years ago
parent
commit
4b0cfa7004
2 changed files with 35 additions and 1 deletions
  1. 26 1
      Source/cmTarget.cxx
  2. 9 0
      Tests/RunCMake/CMP0022/CMP0022-WARN-static-stderr.txt

+ 26 - 1
Source/cmTarget.cxx

@@ -6493,6 +6493,25 @@ bool cmTarget::ComputeLinkInterface(const char* config, LinkInterface& iface,
           {
           case cmPolicies::WARN:
             {
+            std::string oldLibraries;
+            std::string newLibraries;
+            const char *sep = "";
+            for(std::vector<std::string>::const_iterator it
+                = impl->Libraries.begin(); it != impl->Libraries.end(); ++it)
+              {
+              oldLibraries += sep;
+              oldLibraries += *it;
+              sep = ";";
+              }
+            sep = "";
+            for(std::vector<std::string>::const_iterator it
+                = ifaceLibs.begin(); it != ifaceLibs.end(); ++it)
+              {
+              newLibraries += sep;
+              newLibraries += *it;
+              sep = ";";
+              }
+
             cmOStringStream w;
             w << (this->Makefile->GetPolicies()
                   ->GetPolicyWarning(cmPolicies::CMP0022)) << "\n"
@@ -6500,7 +6519,13 @@ bool cmTarget::ComputeLinkInterface(const char* config, LinkInterface& iface,
                 "INTERFACE_LINK_LIBRARIES property.  This should be preferred "
                 "as the source of the link interface for this library.  "
                 "Ignoring the property and using the link implementation "
-                "as the link interface instead.";
+                "as the link interface instead."
+                "\n"
+                "INTERFACE_LINK_LIBRARIES:\n  "
+              << newLibraries
+              << "\n"
+              << "Link implementation:\n  "
+              << oldLibraries << "\n";
             this->Makefile->IssueMessage(cmake::AUTHOR_WARNING, w.str());
             }
             // Fall through

+ 9 - 0
Tests/RunCMake/CMP0022/CMP0022-WARN-static-stderr.txt

@@ -7,4 +7,13 @@ CMake Warning \(dev\) in CMakeLists.txt:
   should be preferred as the source of the link interface for this library.
   Ignoring the property and using the link implementation as the link
   interface instead.
+
+  INTERFACE_LINK_LIBRARIES:
+
+    foo
+
+  Link implementation:
+
+    bat
+
 This warning is for project developers.  Use -Wno-dev to suppress it.$