diff options
author | Brad King <brad.king@kitware.com> | 2008-01-29 22:30:34 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2008-01-29 22:30:34 (GMT) |
commit | 6066e92ba2a9470e302e29cf0e63fd096245e4f3 (patch) | |
tree | f4bdf227f5aee5401fa17fbdd4be0fdb0155b0cf /Source/cmTarget.h | |
parent | b90d3114c5a48eae2c9615a66b4e0f9afc37ff58 (diff) | |
download | CMake-6066e92ba2a9470e302e29cf0e63fd096245e4f3.zip CMake-6066e92ba2a9470e302e29cf0e63fd096245e4f3.tar.gz CMake-6066e92ba2a9470e302e29cf0e63fd096245e4f3.tar.bz2 |
BUG: cmTarget instances should not be copied. Removed pass-by-value arguments from cmLocalVisualStudio7Generator::WriteGroup and cmLocalVisualStudio6Generator::WriteGroup. Updated cmTarget to make this easier to find.
Diffstat (limited to 'Source/cmTarget.h')
-rw-r--r-- | Source/cmTarget.h | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/Source/cmTarget.h b/Source/cmTarget.h index 202190a..37ab203 100644 --- a/Source/cmTarget.h +++ b/Source/cmTarget.h @@ -26,6 +26,15 @@ class cmSourceFile; class cmGlobalGenerator; class cmComputeLinkInformation; +struct cmTargetLinkInformationMap: + public std::map<cmStdString, cmComputeLinkInformation*> +{ + typedef std::map<cmStdString, cmComputeLinkInformation*> derived; + cmTargetLinkInformationMap() {} + cmTargetLinkInformationMap(cmTargetLinkInformationMap const& r); + ~cmTargetLinkInformationMap(); +}; + /** \class cmTarget * \brief Represent a library or executable target loaded from a makefile. * @@ -36,7 +45,6 @@ class cmTarget { public: cmTarget(); - ~cmTarget(); enum TargetType { EXECUTABLE, STATIC_LIBRARY, SHARED_LIBRARY, MODULE_LIBRARY, UTILITY, GLOBAL_TARGET, INSTALL_FILES, INSTALL_PROGRAMS, INSTALL_DIRECTORY}; @@ -466,7 +474,7 @@ private: ImportInfo const* GetImportInfo(const char* config); void ComputeImportInfo(std::string const& desired_config, ImportInfo& info); - std::map<cmStdString, cmComputeLinkInformation*> LinkInformation; + cmTargetLinkInformationMap LinkInformation; // The cmMakefile instance that owns this target. This should // always be set. |