cmCPackPackageMakerGenerator.h 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  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 "cmConfigure.h" // IWYU pragma: keep
  6. #include "cmCPackGenerator.h"
  7. #include "cmCPackPKGGenerator.h"
  8. class cmCPackComponent;
  9. /** \class cmCPackPackageMakerGenerator
  10. * \brief A generator for PackageMaker files
  11. *
  12. * http://developer.apple.com/documentation/Darwin
  13. * /Reference/ManPages/man1/packagemaker.1.html
  14. */
  15. class cmCPackPackageMakerGenerator : public cmCPackPKGGenerator
  16. {
  17. public:
  18. cmCPackTypeMacro(cmCPackPackageMakerGenerator, cmCPackPKGGenerator);
  19. /**
  20. * Construct generator
  21. */
  22. cmCPackPackageMakerGenerator();
  23. ~cmCPackPackageMakerGenerator() override;
  24. bool SupportsComponentInstallation() const override;
  25. protected:
  26. int InitializeInternal() override;
  27. int PackageFiles() override;
  28. const char* GetOutputExtension() override { return ".dmg"; }
  29. // Run PackageMaker with the given command line, which will (if
  30. // successful) produce the given package file. Returns true if
  31. // PackageMaker succeeds, false otherwise.
  32. bool RunPackageMaker(const char* command, const char* packageFile);
  33. // Generate a package in the file packageFile for the given
  34. // component. All of the files within this component are stored in
  35. // the directory packageDir. Returns true if successful, false
  36. // otherwise.
  37. bool GenerateComponentPackage(const char* packageFile,
  38. const char* packageDir,
  39. const cmCPackComponent& component);
  40. double PackageMakerVersion;
  41. unsigned int PackageCompatibilityVersion;
  42. };
  43. #endif