diff options
author | Brad King <brad.king@kitware.com> | 2013-10-23 12:20:14 (GMT) |
---|---|---|
committer | CMake Topic Stage <kwrobot@kitware.com> | 2013-10-23 12:20:14 (GMT) |
commit | d67286ff9b4db3ef9a8bf3e91b0dacc8aac90c05 (patch) | |
tree | dd20b3c73578481527c8a0da4b0ff4a247396c43 | |
parent | 7938e589e33fc7c9de1fa29e3ec128f1b38c2831 (diff) | |
parent | 0b3b3368fb8ee712aa06fcb2b9c6e288905ca6ae (diff) | |
download | CMake-d67286ff9b4db3ef9a8bf3e91b0dacc8aac90c05.zip CMake-d67286ff9b4db3ef9a8bf3e91b0dacc8aac90c05.tar.gz CMake-d67286ff9b4db3ef9a8bf3e91b0dacc8aac90c05.tar.bz2 |
Merge topic 'output-CMP0022-entries'
0b3b336 CMP0022: Output link interface mismatch for static library warning
-rw-r--r-- | Source/cmTarget.cxx | 27 | ||||
-rw-r--r-- | Tests/RunCMake/CMP0022/CMP0022-WARN-static-stderr.txt | 9 |
2 files changed, 35 insertions, 1 deletions
diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx index 126cdbd..ad4ae0c 100644 --- a/Source/cmTarget.cxx +++ b/Source/cmTarget.cxx @@ -5311,6 +5311,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" @@ -5318,7 +5337,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 diff --git a/Tests/RunCMake/CMP0022/CMP0022-WARN-static-stderr.txt b/Tests/RunCMake/CMP0022/CMP0022-WARN-static-stderr.txt index 41d132c..e41133a 100644 --- a/Tests/RunCMake/CMP0022/CMP0022-WARN-static-stderr.txt +++ b/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.$ |