123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 |
- /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
- file Copyright.txt or https://cmake.org/licensing for details. */
- #ifndef cmCPackIFWInstaller_h
- #define cmCPackIFWInstaller_h
- #include "cmConfigure.h" // IWYU pragma: keep
- #include "cmCPackIFWCommon.h"
- #include <map>
- #include <string>
- #include <vector>
- class cmCPackIFWPackage;
- class cmCPackIFWRepository;
- /** \class cmCPackIFWInstaller
- * \brief A binary installer to be created CPack IFW generator
- */
- class cmCPackIFWInstaller : public cmCPackIFWCommon
- {
- public:
- // Types
- typedef std::map<std::string, cmCPackIFWPackage*> PackagesMap;
- typedef std::vector<cmCPackIFWRepository*> RepositoriesVector;
- public:
- // Constructor
- /**
- * Construct installer
- */
- cmCPackIFWInstaller();
- public:
- // Configuration
- /// Name of the product being installed
- std::string Name;
- /// Version number of the product being installed
- std::string Version;
- /// Name of the installer as displayed on the title bar
- std::string Title;
- /// Publisher of the software (as shown in the Windows Control Panel)
- std::string Publisher;
- /// URL to a page that contains product information on your web site
- std::string ProductUrl;
- /// Filename for a custom installer icon
- std::string InstallerApplicationIcon;
- /// Filename for a custom window icon
- std::string InstallerWindowIcon;
- /// Filename for a logo
- std::string Logo;
- /// Filename for a watermark
- std::string Watermark;
- /// Filename for a banner
- std::string Banner;
- /// Filename for a background
- std::string Background;
- /// Wizard style name
- std::string WizardStyle;
- /// Wizard width
- std::string WizardDefaultWidth;
- /// Wizard height
- std::string WizardDefaultHeight;
- /// Title color
- std::string TitleColor;
- /// Name of the default program group in the Windows Start menu
- std::string StartMenuDir;
- /// Default target directory for installation
- std::string TargetDir;
- /// Default target directory for installation with administrator rights
- std::string AdminTargetDir;
- /// Filename of the generated maintenance tool
- std::string MaintenanceToolName;
- /// Filename for the configuration of the generated maintenance tool
- std::string MaintenanceToolIniFile;
- /// Set to true if the installation path can contain non-ASCII characters
- std::string AllowNonAsciiCharacters;
- /// Set to false if the target directory should not be deleted when
- /// uninstalling
- std::string RemoveTargetDir;
- /// Set to false if the installation path cannot contain space characters
- std::string AllowSpaceInPath;
- /// Filename for a custom installer control script
- std::string ControlScript;
- /// List of resources to include in the installer binary
- std::vector<std::string> Resources;
- public:
- // Internal implementation
- void ConfigureFromOptions();
- void GenerateInstallerFile();
- void GeneratePackageFiles();
- PackagesMap Packages;
- RepositoriesVector RemoteRepositories;
- std::string Directory;
- protected:
- void printSkippedOptionWarning(const std::string& optionName,
- const std::string& optionValue);
- };
- #endif // cmCPackIFWInstaller_h
|