summaryrefslogtreecommitdiff
path: root/Source/cmMakefileTargetGenerator.h
diff options
context:
space:
mode:
authorMarc Chevrier <marc.chevrier@gmail.com>2020-01-20 23:41:01 +0100
committerMarc Chevrier <marc.chevrier@gmail.com>2020-01-21 12:52:05 +0100
commitedab5add57894b2f9bcbc91ee0c9b5b6051f4ac1 (patch)
tree6439240b60b86c89a73c9a809651190820cdbb72 /Source/cmMakefileTargetGenerator.h
parent2f7e76efa494a5c6a29bf3ab1037d8d545e39105 (diff)
downloadcmake-edab5add57894b2f9bcbc91ee0c9b5b6051f4ac1.tar.gz
cmMakefileTargetGenerator: modernize memory management
Diffstat (limited to 'Source/cmMakefileTargetGenerator.h')
-rw-r--r--Source/cmMakefileTargetGenerator.h15
1 files changed, 10 insertions, 5 deletions
diff --git a/Source/cmMakefileTargetGenerator.h b/Source/cmMakefileTargetGenerator.h
index fd6293398f..ec6b314389 100644
--- a/Source/cmMakefileTargetGenerator.h
+++ b/Source/cmMakefileTargetGenerator.h
@@ -34,10 +34,15 @@ class cmMakefileTargetGenerator : public cmCommonTargetGenerator
public:
// constructor to set the ivars
cmMakefileTargetGenerator(cmGeneratorTarget* target);
+ cmMakefileTargetGenerator(const cmMakefileTargetGenerator&) = delete;
~cmMakefileTargetGenerator() override;
+ cmMakefileTargetGenerator& operator=(const cmMakefileTargetGenerator&) =
+ delete;
+
// construct using this factory call
- static cmMakefileTargetGenerator* New(cmGeneratorTarget* tgt);
+ static std::unique_ptr<cmMakefileTargetGenerator> New(
+ cmGeneratorTarget* tgt);
/* the main entry point for this class. Writes the Makefiles associated
with this target */
@@ -195,11 +200,11 @@ protected:
std::string TargetBuildDirectoryFull;
// the stream for the build file
- cmGeneratedFileStream* BuildFileStream;
+ std::unique_ptr<cmGeneratedFileStream> BuildFileStream;
// the stream for the flag file
std::string FlagFileNameFull;
- cmGeneratedFileStream* FlagFileStream;
+ std::unique_ptr<cmGeneratedFileStream> FlagFileStream;
class StringList : public std::vector<std::string>
{
};
@@ -207,7 +212,7 @@ protected:
// the stream for the info file
std::string InfoFileNameFull;
- cmGeneratedFileStream* InfoFileStream;
+ std::unique_ptr<cmGeneratedFileStream> InfoFileStream;
// files to clean
std::set<std::string> CleanFiles;
@@ -236,7 +241,7 @@ protected:
// macOS content info.
std::set<std::string> MacContentFolders;
std::unique_ptr<cmOSXBundleGenerator> OSXBundleGenerator;
- MacOSXContentGeneratorType* MacOSXContentGenerator;
+ std::unique_ptr<MacOSXContentGeneratorType> MacOSXContentGenerator;
};
#endif