summaryrefslogtreecommitdiffstats
path: root/Source/cmExportInstallFileGenerator.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2008-01-30 22:25:52 (GMT)
committerBrad King <brad.king@kitware.com>2008-01-30 22:25:52 (GMT)
commit7902bc06aae07a9d4cde81ab41c3c86694d80a9b (patch)
tree20810436488a804ffadb37c349d8db594d368a36 /Source/cmExportInstallFileGenerator.cxx
parent22be36f8d52fae0f509725253f175b0c1ec65dcc (diff)
downloadCMake-7902bc06aae07a9d4cde81ab41c3c86694d80a9b.zip
CMake-7902bc06aae07a9d4cde81ab41c3c86694d80a9b.tar.gz
CMake-7902bc06aae07a9d4cde81ab41c3c86694d80a9b.tar.bz2
ENH: Implemented link-interface specification feature.
- Shared libs and executables with exports may now have explicit transitive link dependencies specified - Created LINK_INTERFACE_LIBRARIES and related properties - Exported targets get the interface libraries as their IMPORTED_LINK_LIBRARIES property. - The export() and install(EXPORT) commands now give an error when a linked target is not included since the user can change the interface libraries instead of adding the target.
Diffstat (limited to 'Source/cmExportInstallFileGenerator.cxx')
-rw-r--r--Source/cmExportInstallFileGenerator.cxx14
1 files changed, 9 insertions, 5 deletions
diff --git a/Source/cmExportInstallFileGenerator.cxx b/Source/cmExportInstallFileGenerator.cxx
index 82af4e1..14bb816 100644
--- a/Source/cmExportInstallFileGenerator.cxx
+++ b/Source/cmExportInstallFileGenerator.cxx
@@ -267,9 +267,13 @@ cmExportInstallFileGenerator
::ComplainAboutMissingTarget(cmTarget* target, const char* dep)
{
cmOStringStream e;
- e << "WARNING: INSTALL(EXPORT \"" << this->Name << "\" ...) "
- << "includes target " << target->GetName()
- << " which links to target \"" << dep
- << "\" that is not in the export set.";
- cmSystemTools::Message(e.str().c_str());
+ e << "INSTALL(EXPORT \"" << this->Name << "\" ...) "
+ << "includes target \"" << target->GetName()
+ << "\" which links to target \"" << dep
+ << "\" that is not in the export set. "
+ << "If the link dependency is not part of the public interface "
+ << "consider setting the LINK_INTERFACE_LIBRARIES property on "
+ << "target \"" << target->GetName() << "\". "
+ << "Otherwise add it to the export set.";
+ cmSystemTools::Error(e.str().c_str());
}