1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- #ifndef cmCPackDebGenerator_h
- #define cmCPackDebGenerator_h
- #include "cmConfigure.h"
- #include "cmCPackGenerator.h"
- #include <string>
- #include <vector>
- class cmCPackDebGenerator : public cmCPackGenerator
- {
- public:
- cmCPackTypeMacro(cmCPackDebGenerator, cmCPackGenerator);
-
- cmCPackDebGenerator();
- ~cmCPackDebGenerator() override;
- static bool CanGenerate()
- {
- #ifdef __APPLE__
-
- std::vector<std::string> locations;
- locations.push_back("/sw/bin");
- locations.push_back("/opt/local/bin");
- return cmSystemTools::FindProgram("dpkg", locations) != "" ? true : false;
- #else
-
- return true;
- #endif
- }
- protected:
- int InitializeInternal() override;
-
- int PackageOnePack(std::string const& initialToplevel,
- std::string const& packageName);
-
- int PackageComponents(bool ignoreGroup);
-
- int PackageComponentsAllInOne(const std::string& compInstDirName);
- int PackageFiles() override;
- const char* GetOutputExtension() override { return ".deb"; }
- bool SupportsComponentInstallation() const override;
- std::string GetComponentInstallDirNameSuffix(
- const std::string& componentName) override;
- private:
- int createDeb();
- std::vector<std::string> packageFiles;
- };
- #endif
|