summaryrefslogtreecommitdiffstats
path: root/Source/cmTarget.h
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2008-01-29 22:30:34 (GMT)
committerBrad King <brad.king@kitware.com>2008-01-29 22:30:34 (GMT)
commit6066e92ba2a9470e302e29cf0e63fd096245e4f3 (patch)
treef4bdf227f5aee5401fa17fbdd4be0fdb0155b0cf /Source/cmTarget.h
parentb90d3114c5a48eae2c9615a66b4e0f9afc37ff58 (diff)
downloadCMake-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.h12
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.