diff options
author | Regina Pfeifer <regina@mailbox.org> | 2019-09-18 15:40:31 (GMT) |
---|---|---|
committer | Regina Pfeifer <regina@mailbox.org> | 2019-09-21 03:15:26 (GMT) |
commit | 1dd31297cad93b5b9a8fd1ab2b5bb9916ffe5d18 (patch) | |
tree | fc2c45cfc659cbbb91347798df2116a1fc0fa5a3 /Source/cmTargetLinkLibrariesCommand.h | |
parent | d5c63f073f290d4778426825e586240dca7ca0a6 (diff) | |
download | CMake-1dd31297cad93b5b9a8fd1ab2b5bb9916ffe5d18.zip CMake-1dd31297cad93b5b9a8fd1ab2b5bb9916ffe5d18.tar.gz CMake-1dd31297cad93b5b9a8fd1ab2b5bb9916ffe5d18.tar.bz2 |
cmTargetLinkLibrariesCommand: Port away from cmCommand
Diffstat (limited to 'Source/cmTargetLinkLibrariesCommand.h')
-rw-r--r-- | Source/cmTargetLinkLibrariesCommand.h | 56 |
1 files changed, 2 insertions, 54 deletions
diff --git a/Source/cmTargetLinkLibrariesCommand.h b/Source/cmTargetLinkLibrariesCommand.h index caf2cf4..4b2deab 100644 --- a/Source/cmTargetLinkLibrariesCommand.h +++ b/Source/cmTargetLinkLibrariesCommand.h @@ -8,61 +8,9 @@ #include <string> #include <vector> -#include <cm/memory> - -#include "cmCommand.h" -#include "cmTargetLinkLibraryType.h" - class cmExecutionStatus; -class cmTarget; - -/** \class cmTargetLinkLibrariesCommand - * \brief Specify a list of libraries to link into executables. - * - * cmTargetLinkLibrariesCommand is used to specify a list of libraries to link - * into executable(s) or shared objects. The names of the libraries - * should be those defined by the LIBRARY(library) command(s). - * - * Additionally, it allows to propagate usage-requirements (including link - * libraries) from one target into another. - */ -class cmTargetLinkLibrariesCommand : public cmCommand -{ -public: - /** - * This is a virtual constructor for the command. - */ - std::unique_ptr<cmCommand> Clone() override - { - return cm::make_unique<cmTargetLinkLibrariesCommand>(); - } - - /** - * This is called when the command is first encountered in - * the CMakeLists.txt file. - */ - bool InitialPass(std::vector<std::string> const& args, - cmExecutionStatus& status) override; - -private: - void LinkLibraryTypeSpecifierWarning(int left, int right); - static const char* LinkLibraryTypeNames[3]; - - cmTarget* Target = nullptr; - enum ProcessingState - { - ProcessingLinkLibraries, - ProcessingPlainLinkInterface, - ProcessingKeywordLinkInterface, - ProcessingPlainPublicInterface, - ProcessingKeywordPublicInterface, - ProcessingPlainPrivateInterface, - ProcessingKeywordPrivateInterface - }; - - ProcessingState CurrentProcessingState = ProcessingLinkLibraries; - bool HandleLibrary(const std::string& lib, cmTargetLinkLibraryType llt); -}; +bool cmTargetLinkLibrariesCommand(std::vector<std::string> const& args, + cmExecutionStatus& status); #endif |