diff options
author | Alexander Neundorf <neundorf@kde.org> | 2007-07-27 12:59:59 (GMT) |
---|---|---|
committer | Alexander Neundorf <neundorf@kde.org> | 2007-07-27 12:59:59 (GMT) |
commit | d6a0c330bc2087eb5007d4b6b056e573220dc590 (patch) | |
tree | 1413695a25b3348b79d3541c22029fb7b80bc3a3 /Source/CPack | |
parent | e2aeecc29440b906fad3d8964b169b62cdfef188 (diff) | |
download | CMake-d6a0c330bc2087eb5007d4b6b056e573220dc590.zip CMake-d6a0c330bc2087eb5007d4b6b056e573220dc590.tar.gz CMake-d6a0c330bc2087eb5007d4b6b056e573220dc590.tar.bz2 |
ENH: deb generator can now generate deb packages
-remove the unscriptable commands also from the cpack cmake
-use CPACK_PACKAGE_CONTACT in CMakeCPack.cmake, it's used in the nsis and
the deb generator
-make set_properties() scriptable
-use a non-const char array for adding the python modules
Alex
Diffstat (limited to 'Source/CPack')
-rw-r--r-- | Source/CPack/cmCPackDebGenerator.cxx | 40 | ||||
-rw-r--r-- | Source/CPack/cpack.cxx | 1 |
2 files changed, 20 insertions, 21 deletions
diff --git a/Source/CPack/cmCPackDebGenerator.cxx b/Source/CPack/cmCPackDebGenerator.cxx index c4c4750..a9078f8 100644 --- a/Source/CPack/cmCPackDebGenerator.cxx +++ b/Source/CPack/cmCPackDebGenerator.cxx @@ -52,39 +52,36 @@ int cmCPackDebGenerator::CompressFiles(const char* outFileName, out << std::endl; // required for valid debian package } - // debian policy enforce lower case for package name - // IF(NOT DEBIAN_PACKAGE_NAME) - // STRING(TOLOWER - // ${CPACK_PACKAGE_NAME} - // DEBIAN_PACKAGE_NAME - // ) - // control file std::string ctlfilename; ctlfilename = toplevel; ctlfilename += "/control"; + + // debian policy enforce lower case for package name + std::string debian_pkg_name = cmsys::SystemTools::LowerCase( this->GetOption("DEBIAN_PACKAGE_NAME") ); + const char* debian_pkg_version = this->GetOption("DEBIAN_PACKAGE_VERSION"); + const char* debian_pkg_arch = this->GetOption("DEBIAN_PACKAGE_ARCHITECTURE"); + const char* debian_pkg_dep = this->GetOption("DEBIAN_PACKAGE_DEPENDS"); + const char* maintainer = this->GetOption("DEBIAN_PACKAGE_MAINTAINER"); + const char* desc = this->GetOption("DEBIAN_PACKAGE_DESCRIPTION"); + { // the scope is needed for cmGeneratedFileStream cmGeneratedFileStream out(ctlfilename.c_str()); - out << "Package: ${DEBIAN_PACKAGE_NAME}\n"; - out << "Version: ${CPACK_PACKAGE_VERSION}\n"; + out << "Package: " << debian_pkg_name << "\n"; + out << "Version: " << debian_pkg_version << "\n"; out << "Section: devel\n"; out << "Priority: optional\n"; - out << "Architecture: ${DEBIAN_ARCHITECTURE}\n"; - out << "Depends: ${DEBIAN_PACKAGE_DEPENDS}\n"; - out << "Maintainer: ${CPACK_NSIS_CONTACT}\n"; - out << "Description: ${CPACK_PACKAGE_DESCRIPTION_SUMMARY}\n"; - out << "${DEBIAN_PACKAGE_NAME} was packaged by UseDebian and CMake.\n"; + out << "Architecture: " << debian_pkg_arch << "\n"; + out << "Depends: " << debian_pkg_dep << " \n"; + out << "Maintainer: " << maintainer << "\n"; + out << "Description: " << desc << "\n"; + out << " " << debian_pkg_name << " was packaged by CMake.\n"; out << std::endl; } - std::string output; - std::string cmd; -// cmd = this->GetOption("CPACK_DEB_COMMAND"); -// cmsys::SystemTools::ReplaceString(cmd, "<ARCHIVE>", outFileName); -// cmsys::SystemTools::ReplaceString(cmd, "<FILELIST>", "deb.filelist"); - - cmd = cmakeExecutable; + std::string cmd = cmakeExecutable; cmd += " -E tar cfz data.tar.gz ./usr"; + std::string output; int retVal = -1; int res = cmSystemTools::RunSingleCommand(cmd.c_str(), &output, &retVal, toplevel, this->GeneratorVerbose, 0); @@ -151,6 +148,7 @@ int cmCPackDebGenerator::CompressFiles(const char* outFileName, cmd += "\" debian-binary control.tar.gz data.tar.gz"; res = cmSystemTools::RunSingleCommand(cmd.c_str(), &output, &retVal, toplevel, this->GeneratorVerbose, 0); + return 1; } diff --git a/Source/CPack/cpack.cxx b/Source/CPack/cpack.cxx index a737d8b..8428315 100644 --- a/Source/CPack/cpack.cxx +++ b/Source/CPack/cpack.cxx @@ -218,6 +218,7 @@ int main (int argc, char *argv[]) "Read CPack config file: " << cpackConfigFile.c_str() << std::endl); cmake cminst; + cminst.RemoveUnscriptableCommands(); cmGlobalGenerator cmgg; cmgg.SetCMakeInstance(&cminst); cmLocalGenerator* cmlg = cmgg.CreateLocalGenerator(); |