summaryrefslogtreecommitdiffstats
path: root/Source/CPack
diff options
context:
space:
mode:
authorAlexander Neundorf <neundorf@kde.org>2007-07-27 12:59:59 (GMT)
committerAlexander Neundorf <neundorf@kde.org>2007-07-27 12:59:59 (GMT)
commitd6a0c330bc2087eb5007d4b6b056e573220dc590 (patch)
tree1413695a25b3348b79d3541c22029fb7b80bc3a3 /Source/CPack
parente2aeecc29440b906fad3d8964b169b62cdfef188 (diff)
downloadCMake-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.cxx40
-rw-r--r--Source/CPack/cpack.cxx1
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();