diff options
author | Stephen Kelly <steveire@gmail.com> | 2011-10-07 00:41:37 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2011-11-22 21:52:35 (GMT) |
commit | 914382224d34cfb86a67c8191b6e7b3a3e918f88 (patch) | |
tree | f5796b3ff7095e8e0fad805fe219aead007b57d3 /Source/cmTargetLinkLibrariesCommand.h | |
parent | cf64218eeb7dbe8a0d71292c42df63c4cb982fed (diff) | |
download | CMake-914382224d34cfb86a67c8191b6e7b3a3e918f88.zip CMake-914382224d34cfb86a67c8191b6e7b3a3e918f88.tar.gz CMake-914382224d34cfb86a67c8191b6e7b3a3e918f88.tar.bz2 |
target_link_libraries: Add LINK_(PUBLIC|PRIVATE) options
Makes it possible to specify the link dependencies and link
interfaces in one command without repetition.
Diffstat (limited to 'Source/cmTargetLinkLibrariesCommand.h')
-rw-r--r-- | Source/cmTargetLinkLibrariesCommand.h | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/Source/cmTargetLinkLibrariesCommand.h b/Source/cmTargetLinkLibrariesCommand.h index a9b5d8b..e91c46d 100644 --- a/Source/cmTargetLinkLibrariesCommand.h +++ b/Source/cmTargetLinkLibrariesCommand.h @@ -107,6 +107,18 @@ public: "Libraries specified as \"general\" (or without any keyword) are " "treated as if specified for both \"debug\" and \"optimized\"." "\n" + " target_link_libraries(<target>\n" + " <LINK_PRIVATE|LINK_PUBLIC>\n" + " [[debug|optimized|general] <lib>] ...\n" + " [<LINK_PRIVATE|LINK_PUBLIC>\n" + " [[debug|optimized|general] <lib>] ...])\n" + "The LINK_PUBLIC and LINK_PRIVATE modes can be used to specify both the" + "link dependencies and the link interface in one command. " + "Libraries and targets following LINK_PUBLIC are linked to, and are " + "made part of the LINK_INTERFACE_LIBRARIES. Libraries and targets " + "following LINK_PRIVATE are linked to, but are not made part of the " + "LINK_INTERFACE_LIBRARIES. " + "\n" "The library dependency graph is normally acyclic (a DAG), but in the " "case of mutually-dependent STATIC libraries CMake allows the graph " "to contain cycles (strongly connected components). " @@ -137,7 +149,14 @@ private: static const char* LinkLibraryTypeNames[3]; cmTarget* Target; - bool DoingInterface; + enum ProcessingState { + ProcessingLinkLibraries, + ProcessingLinkInterface, + ProcessingPublicInterface, + ProcessingPrivateInterface + }; + + ProcessingState CurrentProcessingState; void HandleLibrary(const char* lib, cmTarget::LinkLibraryType llt); }; |