cmCPackPackageMakerGenerator.h 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
  2. file Copyright.txt or https://cmake.org/licensing for details. */
  3. #ifndef cmCPackPackageMakerGenerator_h
  4. #define cmCPackPackageMakerGenerator_h
  5. #include "cmCPackPKGGenerator.h"
  6. class cmCPackComponent;
  7. /** \class cmCPackPackageMakerGenerator
  8. * \brief A generator for PackageMaker files
  9. *
  10. * http://developer.apple.com/documentation/Darwin
  11. * /Reference/ManPages/man1/packagemaker.1.html
  12. */
  13. class cmCPackPackageMakerGenerator : public cmCPackPKGGenerator
  14. {
  15. public:
  16. cmCPackTypeMacro(cmCPackPackageMakerGenerator, cmCPackPKGGenerator);
  17. /**
  18. * Construct generator
  19. */
  20. cmCPackPackageMakerGenerator();
  21. virtual ~cmCPackPackageMakerGenerator();
  22. bool SupportsComponentInstallation() const CM_OVERRIDE;
  23. protected:
  24. int InitializeInternal() CM_OVERRIDE;
  25. int PackageFiles() CM_OVERRIDE;
  26. const char* GetOutputExtension() CM_OVERRIDE { return ".dmg"; }
  27. // Run PackageMaker with the given command line, which will (if
  28. // successful) produce the given package file. Returns true if
  29. // PackageMaker succeeds, false otherwise.
  30. bool RunPackageMaker(const char* command, const char* packageFile);
  31. // Generate a package in the file packageFile for the given
  32. // component. All of the files within this component are stored in
  33. // the directory packageDir. Returns true if successful, false
  34. // otherwise.
  35. bool GenerateComponentPackage(const char* packageFile,
  36. const char* packageDir,
  37. const cmCPackComponent& component);
  38. double PackageMakerVersion;
  39. unsigned int PackageCompatibilityVersion;
  40. };
  41. #endif