diff options
author | Robert Goulet <robert.goulet@autodesk.com> | 2015-08-14 20:35:58 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2015-08-20 13:56:45 (GMT) |
commit | 3c37d2642d9000a2d01bc46ad0ea74a741bdb658 (patch) | |
tree | c1bb63b2a35fbb0de0691c88e1c4535cee6d0f4e /Source/cmGeneratorTarget.h | |
parent | a38ea312c02eec6e4ee61015f70920999bf79ff9 (diff) | |
download | CMake-3c37d2642d9000a2d01bc46ad0ea74a741bdb658.zip CMake-3c37d2642d9000a2d01bc46ad0ea74a741bdb658.tar.gz CMake-3c37d2642d9000a2d01bc46ad0ea74a741bdb658.tar.bz2 |
cmGeneratorTarget: Avoid recursion in GetOutputName method
Since support for generator expressions was added to OUTPUT_NAME it is
possible for project code to cause recursion in this method by using a
$<TARGET_FILE> genex. Detect and reject such cases.
Diffstat (limited to 'Source/cmGeneratorTarget.h')
-rw-r--r-- | Source/cmGeneratorTarget.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/Source/cmGeneratorTarget.h b/Source/cmGeneratorTarget.h index 68e7a8a..15b3335 100644 --- a/Source/cmGeneratorTarget.h +++ b/Source/cmGeneratorTarget.h @@ -375,6 +375,10 @@ private: }; mutable std::map<std::string, LinkImplClosure> LinkImplClosureMap; + typedef std::pair<std::string, bool> OutputNameKey; + typedef std::map<OutputNameKey, std::string> OutputNameMapType; + mutable OutputNameMapType OutputNameMap; + public: std::vector<cmTarget const*> const& GetLinkImplementationClosure(const std::string& config) const; |