| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- /*=========================================================================
- Program: CMake - Cross-Platform Makefile Generator
- Module: $RCSfile$
- Language: C++
- Date: $Date$
- Version: $Revision$
- Copyright (c) 2002 Kitware, Inc., Insight Consortium. All rights reserved.
- See Copyright.txt or http://www.cmake.org/HTML/Copyright.html for details.
- This software is distributed WITHOUT ANY WARRANTY; without even
- the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- PURPOSE. See the above copyright notices for more information.
- =========================================================================*/
- #include "cmCPackSTGZGenerator.h"
- #include "cmake.h"
- #include "cmGlobalGenerator.h"
- #include "cmLocalGenerator.h"
- #include "cmSystemTools.h"
- #include "cmMakefile.h"
- #include "cmCPackLog.h"
- //----------------------------------------------------------------------
- cmCPackSTGZGenerator::cmCPackSTGZGenerator()
- {
- }
- //----------------------------------------------------------------------
- cmCPackSTGZGenerator::~cmCPackSTGZGenerator()
- {
- }
- //----------------------------------------------------------------------
- int cmCPackSTGZGenerator::InitializeInternal()
- {
- this->SetOptionIfNotSet("CPACK_INCLUDE_TOPLEVEL_DIRECTORY", "0");
- return this->Superclass::InitializeInternal();
- }
- //----------------------------------------------------------------------
- int cmCPackSTGZGenerator::GenerateHeader(std::ostream* os)
- {
- cmCPackLogger(cmCPackLog::LOG_DEBUG, "Writing header" << std::endl);
- *os
- << "#!/bin/sh" << std::endl
- << "echo \"" << this->GetOption("CPACK_PACKAGE_NAME")
- << " - self-extracting archive.\"" << std::endl
- << "echo \"If you want to stop extracting, please press <ctrl-C>.\""
- << std::endl
- << "read line" << std::endl
- << "echo \"Extracting... Please wait...\"" << std::endl
- << "echo \"\"" << std::endl
- << "" << std::endl
- << "# take the archive portion of this file and pipe it to tar"
- << std::endl
- << "# the NUMERIC parameter in this command should be one more"
- << std::endl
- << "# than the number of lines in this header file" << std::endl
- << "tail +18 \"$0\" | gunzip | tar xf -" << std::endl
- << "" << std::endl
- << "exit 0" << std::endl
- << "echo \"\"" << std::endl
- << "#-----------------------------------------------------------"
- << std::endl
- << "# Start of TAR.GZ file" << std::endl
- << "#-----------------------------------------------------------"
- << std::endl;
- return this->Superclass::GenerateHeader(os);
- }
|