diff options
author | Stephen Kelly <steveire@gmail.com> | 2015-08-05 16:55:14 (GMT) |
---|---|---|
committer | Stephen Kelly <steveire@gmail.com> | 2015-10-08 23:04:38 (GMT) |
commit | 0bae4a416f9f1b9090499d26f8508660f4f3fc95 (patch) | |
tree | c1bf8a9d022cd056dbdb3ffa9278885f001be461 /Source/cmGeneratorTarget.h | |
parent | 1abc20d81df3ee9845904b356960870526fe3276 (diff) | |
download | CMake-0bae4a416f9f1b9090499d26f8508660f4f3fc95.zip CMake-0bae4a416f9f1b9090499d26f8508660f4f3fc95.tar.gz CMake-0bae4a416f9f1b9090499d26f8508660f4f3fc95.tar.bz2 |
cmGeneratorTarget: Move output info from cmTarget.
Diffstat (limited to 'Source/cmGeneratorTarget.h')
-rw-r--r-- | Source/cmGeneratorTarget.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/Source/cmGeneratorTarget.h b/Source/cmGeneratorTarget.h index a1ad477..77d3b99 100644 --- a/Source/cmGeneratorTarget.h +++ b/Source/cmGeneratorTarget.h @@ -289,6 +289,18 @@ public: directory. */ bool UsesDefaultOutputDir(const std::string& config, bool implib) const; + // Cache target output paths for each configuration. + struct OutputInfo + { + std::string OutDir; + std::string ImpDir; + std::string PdbDir; + bool empty() const + { return OutDir.empty() && ImpDir.empty() && PdbDir.empty(); } + }; + + OutputInfo const* GetOutputInfo(const std::string& config) const; + /** Get the name of the pdb file for the target. */ std::string GetPDBName(const std::string& config="") const; @@ -495,6 +507,12 @@ private: cmLinkImplementationLibraries const* GetLinkImplementationLibrariesInternal(const std::string& config, cmTarget const* head) const; + bool + ComputeOutputDir(const std::string& config, + bool implib, std::string& out) const; + + typedef std::map<std::string, OutputInfo> OutputInfoMapType; + mutable OutputInfoMapType OutputInfoMap; typedef std::pair<std::string, bool> OutputNameKey; typedef std::map<OutputNameKey, std::string> OutputNameMapType; |