summaryrefslogtreecommitdiffstats
path: root/Source/cmTarget.h
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2009-07-06 20:24:32 (GMT)
committerBrad King <brad.king@kitware.com>2009-07-06 20:24:32 (GMT)
commit82a8c6b0c725496315e45e11ce8bcfb970c82bcf (patch)
tree9baa68401cd24f44a2e52ca40b8322ba551d8897 /Source/cmTarget.h
parent2b85fcdd7d6fb3f08a20d57f3c6bdad30d9d880c (diff)
downloadCMake-82a8c6b0c725496315e45e11ce8bcfb970c82bcf.zip
CMake-82a8c6b0c725496315e45e11ce8bcfb970c82bcf.tar.gz
CMake-82a8c6b0c725496315e45e11ce8bcfb970c82bcf.tar.bz2
ENH: Exception safe link interface computation
This fixes cmTarget::GetLinkInterface to compute and return the link interface in an exception-safe manner. We manage the link interface returned by cmTarget::ComputeLinkInterface using auto_ptr.
Diffstat (limited to 'Source/cmTarget.h')
-rw-r--r--Source/cmTarget.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/Source/cmTarget.h b/Source/cmTarget.h
index 12b8bb4..9e17d60 100644
--- a/Source/cmTarget.h
+++ b/Source/cmTarget.h
@@ -21,6 +21,8 @@
#include "cmPropertyMap.h"
#include "cmPolicies.h"
+#include <cmsys/auto_ptr.hxx>
+
class cmake;
class cmMakefile;
class cmSourceFile;
@@ -533,7 +535,8 @@ private:
cmTargetLinkInformationMap LinkInformation;
// Link interface.
- cmTargetLinkInterface* ComputeLinkInterface(const char* config);
+ cmsys::auto_ptr<cmTargetLinkInterface>
+ ComputeLinkInterface(const char* config);
cmTargetLinkInterfaceMap LinkInterface;
// The cmMakefile instance that owns this target. This should