1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- #include "cmCPackCygwinBinaryGenerator.h"
- #include "cmCPackLog.h"
- #include "cmGeneratedFileStream.h"
- #include "cmGlobalGenerator.h"
- #include "cmMakefile.h"
- #include "cmSystemTools.h"
- #include "cmake.h"
- #include "cmsys/SystemTools.hxx"
- cmCPackCygwinBinaryGenerator::cmCPackCygwinBinaryGenerator()
- {
- }
- cmCPackCygwinBinaryGenerator::~cmCPackCygwinBinaryGenerator()
- {
- }
- int cmCPackCygwinBinaryGenerator::InitializeInternal()
- {
- this->SetOptionIfNotSet("CPACK_PACKAGING_INSTALL_PREFIX", "/usr");
- this->SetOptionIfNotSet("CPACK_INCLUDE_TOPLEVEL_DIRECTORY", "0");
- return this->Superclass::InitializeInternal();
- }
- int cmCPackCygwinBinaryGenerator::PackageFiles()
- {
- std::string packageName = this->GetOption("CPACK_PACKAGE_NAME");
- packageName += "-";
- packageName += this->GetOption("CPACK_PACKAGE_VERSION");
- packageName = cmsys::SystemTools::LowerCase(packageName);
- std::string manifest = "/usr/share/doc/";
- manifest += packageName;
- manifest += "/MANIFEST";
- std::string manifestFile = this->GetOption("CPACK_TEMPORARY_DIRECTORY");
-
-
- std::string tempdir = manifestFile;
- manifestFile += manifest;
-
-
- {
- cmGeneratedFileStream ofs(manifestFile.c_str());
- for (std::vector<std::string>::const_iterator i = files.begin();
- i != files.end(); ++i) {
-
- ofs << (*i).substr(tempdir.size()) << "\n";
- }
- ofs << manifest << "\n";
- }
-
- files.push_back(manifestFile);
-
- return this->Superclass::PackageFiles();
- }
- const char* cmCPackCygwinBinaryGenerator::GetOutputExtension()
- {
- this->OutputExtension = "-";
- const char* patchNumber = this->GetOption("CPACK_CYGWIN_PATCH_NUMBER");
- if (!patchNumber) {
- patchNumber = "1";
- cmCPackLogger(cmCPackLog::LOG_WARNING,
- "CPACK_CYGWIN_PATCH_NUMBER not specified using 1"
- << std::endl);
- }
- this->OutputExtension += patchNumber;
- this->OutputExtension += ".tar.bz2";
- return this->OutputExtension.c_str();
- }
|