diff options
author | Brad King <brad.king@kitware.com> | 2013-01-15 19:34:29 (GMT) |
---|---|---|
committer | CMake Topic Stage <kwrobot@kitware.com> | 2013-01-15 19:34:29 (GMT) |
commit | 8d91e23565e01765d821716fcd3d64d7e45e6440 (patch) | |
tree | 481a4f972476a7e215e11281ec5c77057404387d | |
parent | 0dce5bc2f263b717582fd622104a5c26db9b8bef (diff) | |
parent | 1da75022bbe3239e028fe73d94dfae724ad25a7f (diff) | |
download | CMake-8d91e23565e01765d821716fcd3d64d7e45e6440.zip CMake-8d91e23565e01765d821716fcd3d64d7e45e6440.tar.gz CMake-8d91e23565e01765d821716fcd3d64d7e45e6440.tar.bz2 |
Merge topic 'tll-allow-genex'
1da7502 Don't include generator expressions in old-style link handling.
-rw-r--r-- | Source/cmTarget.cxx | 13 | ||||
-rw-r--r-- | Source/cmTargetLinkLibrariesCommand.h | 7 |
2 files changed, 20 insertions, 0 deletions
diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx index 6f3f638..6f68140 100644 --- a/Source/cmTarget.cxx +++ b/Source/cmTarget.cxx @@ -2246,6 +2246,14 @@ static std::string targetNameGenex(const char *lib) } //---------------------------------------------------------------------------- +static bool isGeneratorExpression(const std::string &lib) +{ + const std::string::size_type openpos = lib.find("$<"); + return (openpos != std::string::npos) + && (lib.find(">", openpos) != std::string::npos); +} + +//---------------------------------------------------------------------------- void cmTarget::AddLinkLibrary(cmMakefile& mf, const char *target, const char* lib, LinkLibraryType llt) @@ -2267,6 +2275,11 @@ void cmTarget::AddLinkLibrary(cmMakefile& mf, llt).c_str()); } + if (isGeneratorExpression(lib)) + { + return; + } + cmTarget::LibraryID tmp; tmp.first = lib; tmp.second = llt; diff --git a/Source/cmTargetLinkLibrariesCommand.h b/Source/cmTargetLinkLibrariesCommand.h index 8e5823c..34fe54c 100644 --- a/Source/cmTargetLinkLibrariesCommand.h +++ b/Source/cmTargetLinkLibrariesCommand.h @@ -13,6 +13,7 @@ #define cmTargetLinkLibrariesCommand_h #include "cmCommand.h" +#include "cmDocumentGeneratorExpressions.h" /** \class cmTargetLinkLibrariesCommand * \brief Specify a list of libraries to link into executables. @@ -141,6 +142,12 @@ public: "However, if two archives are really so interdependent they should " "probably be combined into a single archive." ")" + "\n" + "Arguments to target_link_libraries may use \"generator expressions\" " + "with the syntax \"$<...>\". Note however, that generator expressions " + "will not be used in OLD handling of CMP0003 or CMP0004." + "\n" + CM_DOCUMENT_COMMAND_GENERATOR_EXPRESSIONS ; } |