Path: blob/master/Source/CPack/cmCPackProductBuildGenerator.h
5000 views
/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying1file LICENSE.rst or https://cmake.org/licensing for details. */2#pragma once34#include "cmConfigure.h" // IWYU pragma: keep56#include <string>78#include "cmCPackGenerator.h"9#include "cmCPackPKGGenerator.h"10#include "cmValue.h"1112class cmCPackComponent;1314/** \class cmCPackProductBuildGenerator15* \brief A generator for ProductBuild files16*17*/18class cmCPackProductBuildGenerator : public cmCPackPKGGenerator19{20public:21cmCPackTypeMacro(cmCPackProductBuildGenerator, cmCPackPKGGenerator);2223/**24* Construct generator25*/26cmCPackProductBuildGenerator();27~cmCPackProductBuildGenerator() override;2829protected:30int InitializeInternal() override;31int PackageFiles() override;32char const* GetOutputExtension() override { return ".pkg"; }3334// Run ProductBuild with the given command line, which will (if35// successful) produce the given package file. Returns true if36// ProductBuild succeeds, false otherwise.37bool RunProductBuild(std::string const& command);3839// Generate a package in the file packageFile for the given40// component. All of the files within this component are stored in41// the directory packageDir. Returns true if successful, false42// otherwise.43bool GenerateComponentPackage(std::string const& packageFileDir,44std::string const& packageFileName,45std::string const& packageDir,46cmCPackComponent const* component);4748cmValue GetComponentScript(char const* script, char const* script_component);49};505152