diff options
author | Alexander Neundorf <neundorf@kde.org> | 2007-08-17 13:13:15 (GMT) |
---|---|---|
committer | Alexander Neundorf <neundorf@kde.org> | 2007-08-17 13:13:15 (GMT) |
commit | 45da4d2f80bd7ea647b99b7f7e849acbeaec3e3a (patch) | |
tree | 000f167ab456cf58a34daee38d5feb8c82b40743 /Source/CPack | |
parent | 038f3e240c5bb75fd96533b308020772ab0a991f (diff) | |
download | CMake-45da4d2f80bd7ea647b99b7f7e849acbeaec3e3a.zip CMake-45da4d2f80bd7ea647b99b7f7e849acbeaec3e3a.tar.gz CMake-45da4d2f80bd7ea647b99b7f7e849acbeaec3e3a.tar.bz2 |
ENH: patch from Eric Noulard for an RPM package generator
It seems rpmbuild can't handle paths with spaces, it complains that
Buildroot takes only one tag (or something like this), quoting and escaping
don't seem to help.
Alex
Diffstat (limited to 'Source/CPack')
-rw-r--r-- | Source/CPack/cmCPackRPMGenerator.cxx | 25 | ||||
-rw-r--r-- | Source/CPack/cmCPackRPMGenerator.h | 6 |
2 files changed, 25 insertions, 6 deletions
diff --git a/Source/CPack/cmCPackRPMGenerator.cxx b/Source/CPack/cmCPackRPMGenerator.cxx index e4e0b05..83d653f 100644 --- a/Source/CPack/cmCPackRPMGenerator.cxx +++ b/Source/CPack/cmCPackRPMGenerator.cxx @@ -35,19 +35,34 @@ cmCPackRPMGenerator::~cmCPackRPMGenerator() } //---------------------------------------------------------------------- -int cmCPackRPMGenerator::CompressFiles(const char* outFileName, - const char* toplevel, +int cmCPackRPMGenerator::CompressFiles(const char* /*outFileName*/, + const char* /*toplevel*/, const std::vector<std::string>& /*files*/) { this->ReadListFile("CPackRPM.cmake"); +// const char* cmakeExecutable = this->GetOption("CMAKE_COMMAND"); + if (!this->IsSet("RPMBUILD_EXECUTABLE")) { cmCPackLogger(cmCPackLog::LOG_ERROR, "Cannot find rpmbuild" << std::endl); return 0; } - const char* rpmbuildExecutable = this->GetOption("RPMBUILD_EXECUTABLE"); - printf("rpmbuild: %s outFileName: %s toplevel: %s\n", rpmbuildExecutable, - outFileName, toplevel); + + /* FIXME we should be able to stick with RPM naming scheme + * and not following CMake naming scheme? + const char* rpmFileName = this->GetOption("RPM_FILE_NAME"); + const char* rpmDirectory = this->GetOption("RPM_DIRECTORY"); + this->SetOption("CPACK_OUTPUT_FILE_NAME",rpmFileName); + std::string rpmFilePath; + rpmFilePath += rpmDirectory; + rpmFilePath += "/"; + rpmFilePath += rpmFileName; + this->SetOption("CPACK_TEMPORARY_PACKAGE_FILE_NAME",rpmFilePath.c_str()); + */ + // this->SetOption("CPACK_OUTPUT_FILE_PATH",rpmFilePath); + + //FIXME I think we should split CPackRPM.cmake into (at least) + // 2 differents files return 1; } diff --git a/Source/CPack/cmCPackRPMGenerator.h b/Source/CPack/cmCPackRPMGenerator.h index 17c93f4..c3b7a07 100644 --- a/Source/CPack/cmCPackRPMGenerator.h +++ b/Source/CPack/cmCPackRPMGenerator.h @@ -23,7 +23,11 @@ /** \class cmCPackRPMGenerator * \brief A generator for RPM packages - * + * The idea of the CPack RPM generator is to use + * as minimal C++ code as possible. + * Ideally the C++ part of the CPack RPM generator + * will only 'execute' (aka ->ReadListFile) several + * CMake macros files. */ class cmCPackRPMGenerator : public cmCPackGenericGenerator { |