From 999ce0aa9c3fe2def05bde37ffbff627b2df8235 Mon Sep 17 00:00:00 2001 From: Brad King Date: Wed, 15 Dec 2010 12:18:59 -0500 Subject: Document target_link_libraries target scope (#11058) The target_link_libraries command requires its first argument to be a target in the current directory. Document this and update the error message to be more specific. While at it, format the error message with a call stack. --- Source/cmMakefile.cxx | 4 ++-- Source/cmTargetLinkLibrariesCommand.h | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx index 9983e5d..1463680 100644 --- a/Source/cmMakefile.cxx +++ b/Source/cmMakefile.cxx @@ -1364,8 +1364,8 @@ void cmMakefile::AddLinkLibraryForTarget(const char *target, cmOStringStream e; e << "Attempt to add link library \"" << lib << "\" to target \"" - << target << "\" which is not built by this project."; - cmSystemTools::Error(e.str().c_str()); + << target << "\" which is not built in this directory."; + this->IssueMessage(cmake::FATAL_ERROR, e.str().c_str()); } } diff --git a/Source/cmTargetLinkLibrariesCommand.h b/Source/cmTargetLinkLibrariesCommand.h index 43a0d7c..ce57df7 100644 --- a/Source/cmTargetLinkLibrariesCommand.h +++ b/Source/cmTargetLinkLibrariesCommand.h @@ -62,6 +62,10 @@ public: " target_link_libraries( [item1 [item2 [...]]]\n" " [[debug|optimized|general] ] ...)\n" "Specify libraries or flags to use when linking a given target. " + "The named must have been created in the current directory " + "by a command such as add_executable or add_library. " + "The remaining arguments specify library names or flags." + "\n" "If a library name matches that of another target in the project " "a dependency will automatically be added in the build system to make " "sure the library being linked is up-to-date before the target links. " -- cgit v0.12