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