diff options
Diffstat (limited to 'Source/CPack/cmCPackPackageMakerGenerator.h')
-rw-r--r-- | Source/CPack/cmCPackPackageMakerGenerator.h | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/Source/CPack/cmCPackPackageMakerGenerator.h b/Source/CPack/cmCPackPackageMakerGenerator.h new file mode 100644 index 0000000..0575587 --- /dev/null +++ b/Source/CPack/cmCPackPackageMakerGenerator.h @@ -0,0 +1,53 @@ +/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying + file Copyright.txt or https://cmake.org/licensing for details. */ +#ifndef cmCPackPackageMakerGenerator_h +#define cmCPackPackageMakerGenerator_h + +#include "cmConfigure.h" // IWYU pragma: keep + +#include "cmCPackGenerator.h" +#include "cmCPackPKGGenerator.h" + +class cmCPackComponent; + +/** \class cmCPackPackageMakerGenerator + * \brief A generator for PackageMaker files + * + * http://developer.apple.com/documentation/Darwin + * /Reference/ManPages/man1/packagemaker.1.html + */ +class cmCPackPackageMakerGenerator : public cmCPackPKGGenerator +{ +public: + cmCPackTypeMacro(cmCPackPackageMakerGenerator, cmCPackPKGGenerator); + + /** + * Construct generator + */ + cmCPackPackageMakerGenerator(); + ~cmCPackPackageMakerGenerator() override; + bool SupportsComponentInstallation() const override; + +protected: + int InitializeInternal() override; + int PackageFiles() override; + const char* GetOutputExtension() override { return ".dmg"; } + + // Run PackageMaker with the given command line, which will (if + // successful) produce the given package file. Returns true if + // PackageMaker succeeds, false otherwise. + bool RunPackageMaker(const char* command, const char* packageFile); + + // Generate a package in the file packageFile for the given + // component. All of the files within this component are stored in + // the directory packageDir. Returns true if successful, false + // otherwise. + bool GenerateComponentPackage(const char* packageFile, + const char* packageDir, + const cmCPackComponent& component); + + double PackageMakerVersion; + unsigned int PackageCompatibilityVersion; +}; + +#endif |