ENH: add support for cygwin source and binary packaging
This commit is contained in:
parent
1feb4a09b0
commit
4925e64b97
|
@ -388,9 +388,44 @@ IF(EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake")
|
||||||
SET(CPACK_SOURCE_STRIP_FILES "")
|
SET(CPACK_SOURCE_STRIP_FILES "")
|
||||||
SET(CPACK_PACKAGE_EXECUTABLES "ccmake" "CMake")
|
SET(CPACK_PACKAGE_EXECUTABLES "ccmake" "CMake")
|
||||||
ENDIF(WIN32 AND NOT UNIX)
|
ENDIF(WIN32 AND NOT UNIX)
|
||||||
|
# cygwin specific packaging stuff
|
||||||
|
IF(CYGWIN)
|
||||||
|
SET(CPACK_PACKAGE_NAME cmake)
|
||||||
|
# setup the name of the package for cygwin cmake-2.4.3
|
||||||
|
SET(CPACK_PACKAGE_FILE_NAME
|
||||||
|
"${CPACK_PACKAGE_NAME}-${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}.${CMake_VERSION_PATCH}")
|
||||||
|
# the source has the same name as the binary
|
||||||
|
SET(CPACK_SOURCE_PACKAGE_FILE_NAME ${CPACK_PACKAGE_FILE_NAME})
|
||||||
|
# Create a cygwin version number in case there are changes for cygwin
|
||||||
|
# that are not reflected upstream in CMake
|
||||||
|
SET(CPACK_CYGWIN_PATCH_NUMBER 1)
|
||||||
|
# if we are on cygwin and have cpack, then force the
|
||||||
|
# doc, data and man dirs to conform to cygwin style directories
|
||||||
|
SET(CMAKE_DOC_DIR "/share/doc/${CPACK_PACKAGE_FILE_NAME}")
|
||||||
|
SET(CMAKE_DATA_DIR "/share/${CPACK_PACKAGE_FILE_NAME}")
|
||||||
|
SET(CMAKE_MAN_DIR "/share/man")
|
||||||
|
# let the user know we just forced these values
|
||||||
|
MESSAGE(STATUS "Setup for Cygwin packaging")
|
||||||
|
MESSAGE(STATUS "Override cache CMAKE_DOC_DIR = ${CMAKE_DOC_DIR}")
|
||||||
|
MESSAGE(STATUS "Override cache CMAKE_DATA_DIR = ${CMAKE_DATA_DIR}")
|
||||||
|
MESSAGE(STATUS "Override cache CMAKE_MAN_DIR = ${CMAKE_MAN_DIR}")
|
||||||
|
# These files are required by the cmCPackCygwinSourceGenerator and the files
|
||||||
|
# put into the release tar files.
|
||||||
|
SET(CPACK_CYGWIN_BUILD_SCRIPT
|
||||||
|
"${CMake_BINARY_DIR}/@CPACK_PACKAGE_FILE_NAME@-@CPACK_CYGWIN_PATCH_NUMBER@.sh")
|
||||||
|
SET(CPACK_CYGWIN_PATCH_FILE
|
||||||
|
"${CMake_BINARY_DIR}/@CPACK_PACKAGE_FILE_NAME@-@CPACK_CYGWIN_PATCH_NUMBER@.patch")
|
||||||
|
# include the sub directory for cygwin releases
|
||||||
|
SUBDIRS(Utilities/Release/Cygwin)
|
||||||
|
# when packaging source make sure the .build directory is not included
|
||||||
|
SET(CPACK_SOURCE_IGNORE_FILES
|
||||||
|
"/CVS/" "/\\\\.build/" "/\\\\.svn/" "\\\\.swp$" "\\\\.#" "/#" "~$")
|
||||||
|
ENDIF(CYGWIN)
|
||||||
|
# include CPack model once all variables are set
|
||||||
INCLUDE(CPack)
|
INCLUDE(CPack)
|
||||||
ENDIF(EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake")
|
ENDIF(EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake")
|
||||||
|
|
||||||
|
# configure the CTestScript.cmake file into the binary directory
|
||||||
CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/Templates/CTestScript.cmake.in"
|
CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/Templates/CTestScript.cmake.in"
|
||||||
"${CMAKE_CURRENT_BINARY_DIR}/CTestScript.cmake"
|
"${CMAKE_CURRENT_BINARY_DIR}/CTestScript.cmake"
|
||||||
@ONLY IMMEDIATE)
|
@ONLY IMMEDIATE)
|
||||||
|
|
|
@ -99,6 +99,10 @@ IF(NOT CPACK_GENERATOR)
|
||||||
SET(CPACK_GENERATOR "STGZ;TGZ;TZ")
|
SET(CPACK_GENERATOR "STGZ;TGZ;TZ")
|
||||||
ENDIF(APPLE)
|
ENDIF(APPLE)
|
||||||
SET(CPACK_SOURCE_GENERATOR "TGZ;TZ")
|
SET(CPACK_SOURCE_GENERATOR "TGZ;TZ")
|
||||||
|
IF(CYGWIN)
|
||||||
|
SET(CPACK_SOURCE_GENERATOR "CygwinSource")
|
||||||
|
SET(CPACK_GENERATOR "CygwinBinary")
|
||||||
|
ENDIF(CYGWIN)
|
||||||
ELSE(UNIX)
|
ELSE(UNIX)
|
||||||
SET(CPACK_GENERATOR "NSIS;ZIP")
|
SET(CPACK_GENERATOR "NSIS;ZIP")
|
||||||
SET(CPACK_SOURCE_GENERATOR "ZIP")
|
SET(CPACK_SOURCE_GENERATOR "ZIP")
|
||||||
|
|
|
@ -295,6 +295,8 @@ SET(CPACK_SRCS
|
||||||
CPack/cmCPackTarBZip2Generator.cxx
|
CPack/cmCPackTarBZip2Generator.cxx
|
||||||
CPack/cmCPackTarCompressGenerator.cxx
|
CPack/cmCPackTarCompressGenerator.cxx
|
||||||
CPack/cmCPackZIPGenerator.cxx
|
CPack/cmCPackZIPGenerator.cxx
|
||||||
|
CPack/cmCPackCygwinBinaryGenerator.cxx
|
||||||
|
CPack/cmCPackCygwinSourceGenerator.cxx
|
||||||
)
|
)
|
||||||
# Build CPackLib
|
# Build CPackLib
|
||||||
ADD_LIBRARY(CPackLib ${CPACK_SRCS})
|
ADD_LIBRARY(CPackLib ${CPACK_SRCS})
|
||||||
|
|
|
@ -6,6 +6,7 @@ cmCPackGenerators -- creates cmCPackGenericGenerator's via NewGenerator
|
||||||
|
|
||||||
cmCPackGenericGenerator::Initialize
|
cmCPackGenericGenerator::Initialize
|
||||||
this->InitializeInternal
|
this->InitializeInternal
|
||||||
|
CPACK_INCLUDE_TOPLEVEL_DIRECTORY = 0 turns off
|
||||||
|
|
||||||
|
|
||||||
// binary package run
|
// binary package run
|
||||||
|
@ -64,3 +65,4 @@ break up cmCPackGenerator::InstallProject so it calls the following:
|
||||||
// run the cmake install scripts if provided
|
// run the cmake install scripts if provided
|
||||||
cmCPackGenerator::RunCMakeInstallScripts()
|
cmCPackGenerator::RunCMakeInstallScripts()
|
||||||
|
|
||||||
|
-
|
||||||
|
|
|
@ -41,7 +41,7 @@ cmCPackCygwinBinaryGenerator::~cmCPackCygwinBinaryGenerator()
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
int cmCPackCygwinBinaryGenerator::InitializeInternal()
|
int cmCPackCygwinBinaryGenerator::InitializeInternal()
|
||||||
{
|
{
|
||||||
this->SetOptionIfNotSet("CPACK_INCLUDE_TOPLEVEL_DIRECTORY", "1");
|
this->SetOptionIfNotSet("CPACK_INCLUDE_TOPLEVEL_DIRECTORY", "0");
|
||||||
std::vector<std::string> path;
|
std::vector<std::string> path;
|
||||||
std::string pkgPath = cmSystemTools::FindProgram("bzip2", path, false);
|
std::string pkgPath = cmSystemTools::FindProgram("bzip2", path, false);
|
||||||
if ( pkgPath.empty() )
|
if ( pkgPath.empty() )
|
||||||
|
@ -62,13 +62,16 @@ int cmCPackCygwinBinaryGenerator::CompressFiles(const char* outFileName,
|
||||||
const char* toplevel, const std::vector<std::string>& files)
|
const char* toplevel, const std::vector<std::string>& files)
|
||||||
{
|
{
|
||||||
std::string packageName = this->GetOption("CPACK_PACKAGE_NAME");
|
std::string packageName = this->GetOption("CPACK_PACKAGE_NAME");
|
||||||
|
packageName += "-";
|
||||||
packageName += this->GetOption("CPACK_PACKAGE_VERSION");
|
packageName += this->GetOption("CPACK_PACKAGE_VERSION");
|
||||||
packageName = cmsys::SystemTools::LowerCase(packageName);
|
packageName = cmsys::SystemTools::LowerCase(packageName);
|
||||||
std::string manifest = "/share/doc/";
|
std::string manifest = "/usr/share/doc/";
|
||||||
manifest += packageName;
|
manifest += packageName;
|
||||||
manifest += "/MANIFEST";
|
manifest += "/MANIFEST";
|
||||||
std::string manifestFile
|
std::string manifestFile
|
||||||
= this->GetOption("CPACK_TEMPORARY_DIRECTORY");
|
= this->GetOption("CPACK_TEMPORARY_DIRECTORY");
|
||||||
|
// Create a MANIFEST file that contains all of the files in
|
||||||
|
// the tar file
|
||||||
std::string tempdir = manifestFile;
|
std::string tempdir = manifestFile;
|
||||||
manifestFile += manifest;
|
manifestFile += manifest;
|
||||||
// create an extra scope to force the stream
|
// create an extra scope to force the stream
|
||||||
|
@ -78,18 +81,23 @@ int cmCPackCygwinBinaryGenerator::CompressFiles(const char* outFileName,
|
||||||
for(std::vector<std::string>::const_iterator i = files.begin();
|
for(std::vector<std::string>::const_iterator i = files.begin();
|
||||||
i != files.end(); ++i)
|
i != files.end(); ++i)
|
||||||
{
|
{
|
||||||
#undef cerr
|
|
||||||
// remove the temp dir and replace with /usr
|
// remove the temp dir and replace with /usr
|
||||||
ofs << "/usr" << (*i).substr(tempdir.size()) << "\n";
|
ofs << (*i).substr(tempdir.size()) << "\n";
|
||||||
std::cerr << "/usr" << (*i).substr(tempdir.size()) << "\n";
|
|
||||||
|
|
||||||
}
|
}
|
||||||
ofs << "/usr" << manifest << "\n";
|
ofs << manifest << "\n";
|
||||||
}
|
}
|
||||||
// Now compress up everything
|
// add the manifest file to the list of all files
|
||||||
std::vector<std::string> filesWithManifest = files;
|
std::vector<std::string> filesWithManifest = files;
|
||||||
filesWithManifest.push_back(manifestFile);
|
filesWithManifest.push_back(manifestFile);
|
||||||
|
// create the bzip2 tar file
|
||||||
return this->Superclass::CompressFiles(outFileName, toplevel,
|
return this->Superclass::CompressFiles(outFileName, toplevel,
|
||||||
filesWithManifest);
|
filesWithManifest);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const char* cmCPackCygwinBinaryGenerator::GetOutputExtension()
|
||||||
|
{
|
||||||
|
this->OutputExtension = "-";
|
||||||
|
this->OutputExtension += this->GetOption("CPACK_CYGWIN_PATCH_NUMBER");
|
||||||
|
this->OutputExtension += ".tar.bz2";
|
||||||
|
return this->OutputExtension.c_str();
|
||||||
|
}
|
||||||
|
|
|
@ -33,12 +33,13 @@ public:
|
||||||
*/
|
*/
|
||||||
cmCPackCygwinBinaryGenerator();
|
cmCPackCygwinBinaryGenerator();
|
||||||
virtual ~cmCPackCygwinBinaryGenerator();
|
virtual ~cmCPackCygwinBinaryGenerator();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
virtual const char* GetInstallPrefix() { return "/usr"; }
|
||||||
virtual int InitializeInternal();
|
virtual int InitializeInternal();
|
||||||
int CompressFiles(const char* outFileName, const char* toplevel,
|
int CompressFiles(const char* outFileName, const char* toplevel,
|
||||||
const std::vector<std::string>& files);
|
const std::vector<std::string>& files);
|
||||||
|
virtual const char* GetOutputExtension();
|
||||||
|
std::string OutputExtension;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -69,36 +69,29 @@ int cmCPackCygwinSourceGenerator::InitializeInternal()
|
||||||
int cmCPackCygwinSourceGenerator::CompressFiles(const char* outFileName,
|
int cmCPackCygwinSourceGenerator::CompressFiles(const char* outFileName,
|
||||||
const char* toplevel, const std::vector<std::string>& files)
|
const char* toplevel, const std::vector<std::string>& files)
|
||||||
{
|
{
|
||||||
|
// Create a tar file of the sources
|
||||||
std::string packageDirFileName
|
std::string packageDirFileName
|
||||||
= this->GetOption("CPACK_TEMPORARY_DIRECTORY");
|
= this->GetOption("CPACK_TEMPORARY_DIRECTORY");
|
||||||
packageDirFileName += ".tar";
|
packageDirFileName += ".tar";
|
||||||
std::string output;
|
std::string output;
|
||||||
int retVal = -1;
|
int retVal = -1;
|
||||||
if ( !this->Superclass::CompressFiles(packageDirFileName.c_str(),
|
// skip one parent up to the cmCPackTGZGenerator to create tar file
|
||||||
|
this->Compress = false; // just create tar not tar.gz
|
||||||
|
if ( !this->cmCPackTGZGenerator::CompressFiles(packageDirFileName.c_str(),
|
||||||
toplevel, files) )
|
toplevel, files) )
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
cmOStringStream dmgCmd1;
|
// Now bzip2 the source tar file
|
||||||
dmgCmd1 << "\"" << this->GetOption("CPACK_INSTALLER_PROGRAM")
|
if(!this->BZip2File(packageDirFileName.c_str()))
|
||||||
<< "\" \"" << packageDirFileName
|
{
|
||||||
<< "\"";
|
cmCPackLogger(cmCPackLog::LOG_ERROR, "Problem running BZip2 on file: "
|
||||||
retVal = -1;
|
<< packageDirFileName.c_str());
|
||||||
int res = cmSystemTools::RunSingleCommand(dmgCmd1.str().c_str(), &output,
|
|
||||||
&retVal, toplevel, this->GeneratorVerbose, 0);
|
|
||||||
if ( !res || retVal )
|
|
||||||
{
|
|
||||||
std::string tmpFile = this->GetOption("CPACK_TOPLEVEL_DIRECTORY");
|
|
||||||
tmpFile += "/CompressBZip2.log";
|
|
||||||
cmGeneratedFileStream ofs(tmpFile.c_str());
|
|
||||||
ofs << "# Run command: " << dmgCmd1.str().c_str() << std::endl
|
|
||||||
<< "# Output:" << std::endl
|
|
||||||
<< output.c_str() << std::endl;
|
|
||||||
cmCPackLogger(cmCPackLog::LOG_ERROR, "Problem running BZip2 command: "
|
|
||||||
<< dmgCmd1.str().c_str() << std::endl
|
|
||||||
<< "Please check " << tmpFile.c_str() << " for errors" << std::endl);
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
// Now create a tar file that contains the above .tar.bz2 file
|
||||||
|
// and the CPACK_CYGWIN_PATCH_FILE and CPACK_TOPLEVEL_DIRECTORY
|
||||||
|
// files
|
||||||
std::string compressOutFile = packageDirFileName + ".bz2";
|
std::string compressOutFile = packageDirFileName + ".bz2";
|
||||||
// at this point compressOutFile is the full path to
|
// at this point compressOutFile is the full path to
|
||||||
// _CPack_Package/.../package-2.5.0.tar.bz2
|
// _CPack_Package/.../package-2.5.0.tar.bz2
|
||||||
|
@ -108,7 +101,8 @@ int cmCPackCygwinSourceGenerator::CompressFiles(const char* outFileName,
|
||||||
// _CPack_Package/.../package-2.5.0-1.sh
|
// _CPack_Package/.../package-2.5.0-1.sh
|
||||||
// _CPack_Package/.../package-2.5.0.tar.bz2
|
// _CPack_Package/.../package-2.5.0.tar.bz2
|
||||||
// the -1 is CPACK_CYGWIN_PATCH_NUMBER
|
// the -1 is CPACK_CYGWIN_PATCH_NUMBER
|
||||||
if(!cmSystemTools::CopyFileIfDifferent(
|
// copy the patch file into place
|
||||||
|
if(!cmSystemTools::CopyFileAlways(
|
||||||
this->GetOption("CPACK_CYGWIN_PATCH_FILE"),
|
this->GetOption("CPACK_CYGWIN_PATCH_FILE"),
|
||||||
this->GetOption("CPACK_TOPLEVEL_DIRECTORY")))
|
this->GetOption("CPACK_TOPLEVEL_DIRECTORY")))
|
||||||
{
|
{
|
||||||
|
@ -117,7 +111,8 @@ int cmCPackCygwinSourceGenerator::CompressFiles(const char* outFileName,
|
||||||
<< this->GetOption("CPACK_TOPLEVEL_DIRECTORY") << "]\n");
|
<< this->GetOption("CPACK_TOPLEVEL_DIRECTORY") << "]\n");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
if(!cmSystemTools::CopyFileIfDifferent(
|
// copy the build script into place
|
||||||
|
if(!cmSystemTools::CopyFileAlways(
|
||||||
this->GetOption("CPACK_CYGWIN_BUILD_SCRIPT"),
|
this->GetOption("CPACK_CYGWIN_BUILD_SCRIPT"),
|
||||||
this->GetOption("CPACK_TOPLEVEL_DIRECTORY")))
|
this->GetOption("CPACK_TOPLEVEL_DIRECTORY")))
|
||||||
{
|
{
|
||||||
|
@ -126,7 +121,7 @@ int cmCPackCygwinSourceGenerator::CompressFiles(const char* outFileName,
|
||||||
<< this->GetOption("CPACK_TOPLEVEL_DIRECTORY") << "]\n");
|
<< this->GetOption("CPACK_TOPLEVEL_DIRECTORY") << "]\n");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
// create the tar file
|
||||||
std::string outerTarFile
|
std::string outerTarFile
|
||||||
= this->GetOption("CPACK_TEMPORARY_DIRECTORY");
|
= this->GetOption("CPACK_TEMPORARY_DIRECTORY");
|
||||||
outerTarFile += "-";
|
outerTarFile += "-";
|
||||||
|
@ -151,6 +146,7 @@ int cmCPackCygwinSourceGenerator::CompressFiles(const char* outFileName,
|
||||||
cmSystemTools::CreateTar(outerTarFile.c_str(),
|
cmSystemTools::CreateTar(outerTarFile.c_str(),
|
||||||
outerFiles, false, false);
|
outerFiles, false, false);
|
||||||
cmSystemTools::ChangeDirectory(saveDir.c_str());
|
cmSystemTools::ChangeDirectory(saveDir.c_str());
|
||||||
|
// now compress the outer tar file
|
||||||
if(!this->BZip2File(outerTarFile.c_str()))
|
if(!this->BZip2File(outerTarFile.c_str()))
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -168,7 +164,6 @@ int cmCPackCygwinSourceGenerator::CompressFiles(const char* outFileName,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
class cmCPackCygwinSourceGenerator : public cmCPackTarBZip2Generator
|
class cmCPackCygwinSourceGenerator : public cmCPackTarBZip2Generator
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
cmCPackTypeMacro(cmCPackCygwinSourceGenerator, cmCPackTGZGenerator);
|
cmCPackTypeMacro(cmCPackCygwinSourceGenerator, cmCPackTarBZip2Generator);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Construct generator
|
* Construct generator
|
||||||
|
|
|
@ -31,6 +31,11 @@
|
||||||
# include "cmCPackOSXX11Generator.h"
|
# include "cmCPackOSXX11Generator.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef __CYGWIN__
|
||||||
|
# include "cmCPackCygwinBinaryGenerator.h"
|
||||||
|
# include "cmCPackCygwinSourceGenerator.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "cmCPackLog.h"
|
#include "cmCPackLog.h"
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
|
@ -44,6 +49,13 @@ cmCPackGenerators::cmCPackGenerators()
|
||||||
this->RegisterGenerator("NSIS", "Null Soft Installer",
|
this->RegisterGenerator("NSIS", "Null Soft Installer",
|
||||||
cmCPackNSISGenerator::CreateGenerator);
|
cmCPackNSISGenerator::CreateGenerator);
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef __CYGWIN__
|
||||||
|
this->RegisterGenerator("CygwinBinary", "Cygwin Binary Installer",
|
||||||
|
cmCPackCygwinBinaryGenerator::CreateGenerator);
|
||||||
|
this->RegisterGenerator("CygwinSource", "Cygwin Source Installer",
|
||||||
|
cmCPackCygwinSourceGenerator::CreateGenerator);
|
||||||
|
#endif
|
||||||
|
|
||||||
this->RegisterGenerator("ZIP", "ZIP file format",
|
this->RegisterGenerator("ZIP", "ZIP file format",
|
||||||
cmCPackZIPGenerator::CreateGenerator);
|
cmCPackZIPGenerator::CreateGenerator);
|
||||||
this->RegisterGenerator("TBZ2", "Tar BZip2 compression",
|
this->RegisterGenerator("TBZ2", "Tar BZip2 compression",
|
||||||
|
|
|
@ -74,7 +74,6 @@ int cmCPackGenericGenerator::PrepareNames()
|
||||||
|
|
||||||
std::string outName = this->GetOption("CPACK_PACKAGE_FILE_NAME");
|
std::string outName = this->GetOption("CPACK_PACKAGE_FILE_NAME");
|
||||||
tempDirectory += "/" + outName;
|
tempDirectory += "/" + outName;
|
||||||
outName += ".";
|
|
||||||
outName += this->GetOutputExtension();
|
outName += this->GetOutputExtension();
|
||||||
|
|
||||||
std::string destFile = this->GetOption("CPACK_PACKAGE_DIRECTORY");
|
std::string destFile = this->GetOption("CPACK_PACKAGE_DIRECTORY");
|
||||||
|
@ -82,7 +81,6 @@ int cmCPackGenericGenerator::PrepareNames()
|
||||||
|
|
||||||
std::string outFile = topDirectory + "/" + outName;
|
std::string outFile = topDirectory + "/" + outName;
|
||||||
std::string installPrefix = tempDirectory + this->GetInstallPrefix();
|
std::string installPrefix = tempDirectory + this->GetInstallPrefix();
|
||||||
|
|
||||||
this->SetOptionIfNotSet("CPACK_TOPLEVEL_DIRECTORY", topDirectory.c_str());
|
this->SetOptionIfNotSet("CPACK_TOPLEVEL_DIRECTORY", topDirectory.c_str());
|
||||||
this->SetOptionIfNotSet("CPACK_TEMPORARY_DIRECTORY", tempDirectory.c_str());
|
this->SetOptionIfNotSet("CPACK_TEMPORARY_DIRECTORY", tempDirectory.c_str());
|
||||||
this->SetOptionIfNotSet("CPACK_OUTPUT_FILE_NAME", outName.c_str());
|
this->SetOptionIfNotSet("CPACK_OUTPUT_FILE_NAME", outName.c_str());
|
||||||
|
@ -106,7 +104,8 @@ int cmCPackGenericGenerator::PrepareNames()
|
||||||
if ( !cmSystemTools::FileExists(descFileName) )
|
if ( !cmSystemTools::FileExists(descFileName) )
|
||||||
{
|
{
|
||||||
cmCPackLogger(cmCPackLog::LOG_ERROR,
|
cmCPackLogger(cmCPackLog::LOG_ERROR,
|
||||||
"Cannot find description file name: " << descFileName << std::endl);
|
"Cannot find description file name: ["
|
||||||
|
<< descFileName << "]" << std::endl);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
std::ifstream ifs(descFileName);
|
std::ifstream ifs(descFileName);
|
||||||
|
@ -235,6 +234,7 @@ int cmCPackGenericGenerator::InstallProject()
|
||||||
{
|
{
|
||||||
std::string fileName = tempInstallDirectory;
|
std::string fileName = tempInstallDirectory;
|
||||||
fileName += "/" + *it;
|
fileName += "/" + *it;
|
||||||
|
fileName += cmSystemTools::GetExecutableExtension();
|
||||||
cmCPackLogger(cmCPackLog::LOG_VERBOSE,
|
cmCPackLogger(cmCPackLog::LOG_VERBOSE,
|
||||||
" Strip file: " << fileName.c_str()
|
" Strip file: " << fileName.c_str()
|
||||||
<< std::endl);
|
<< std::endl);
|
||||||
|
@ -344,7 +344,8 @@ int cmCPackGenericGenerator::InstallProjectViaInstalledDirectories(
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
std::vector<std::string>::iterator it;
|
std::vector<std::string>::iterator it;
|
||||||
const char* tempDir = this->GetOption("CPACK_TEMPORARY_DIRECTORY");
|
const char* tempDir = tempInstallDirectory;
|
||||||
|
// this->GetOption("CPACK_TEMPORARY_DIRECTORY");
|
||||||
for ( it = installDirectoriesVector.begin();
|
for ( it = installDirectoriesVector.begin();
|
||||||
it != installDirectoriesVector.end();
|
it != installDirectoriesVector.end();
|
||||||
++it )
|
++it )
|
||||||
|
|
|
@ -94,7 +94,7 @@ protected:
|
||||||
int PrepareNames();
|
int PrepareNames();
|
||||||
int InstallProject();
|
int InstallProject();
|
||||||
int CleanTemporaryDirectory();
|
int CleanTemporaryDirectory();
|
||||||
virtual const char* GetOutputExtension() { return "cpack"; }
|
virtual const char* GetOutputExtension() { return ".cpack"; }
|
||||||
virtual const char* GetOutputPostfix() { return 0; }
|
virtual const char* GetOutputPostfix() { return 0; }
|
||||||
virtual int CompressFiles(const char* outFileName, const char* toplevel,
|
virtual int CompressFiles(const char* outFileName, const char* toplevel,
|
||||||
const std::vector<std::string>& files);
|
const std::vector<std::string>& files);
|
||||||
|
|
|
@ -41,7 +41,7 @@ protected:
|
||||||
virtual int InitializeInternal();
|
virtual int InitializeInternal();
|
||||||
int CompressFiles(const char* outFileName, const char* toplevel,
|
int CompressFiles(const char* outFileName, const char* toplevel,
|
||||||
const std::vector<std::string>& files);
|
const std::vector<std::string>& files);
|
||||||
virtual const char* GetOutputExtension() { return "exe"; }
|
virtual const char* GetOutputExtension() { return ".exe"; }
|
||||||
virtual const char* GetOutputPostfix() { return "win32"; }
|
virtual const char* GetOutputPostfix() { return "win32"; }
|
||||||
|
|
||||||
bool GetListOfSubdirectories(const char* dir,
|
bool GetListOfSubdirectories(const char* dir,
|
||||||
|
|
|
@ -40,7 +40,7 @@ protected:
|
||||||
virtual int InitializeInternal();
|
virtual int InitializeInternal();
|
||||||
int CompressFiles(const char* outFileName, const char* toplevel,
|
int CompressFiles(const char* outFileName, const char* toplevel,
|
||||||
const std::vector<std::string>& files);
|
const std::vector<std::string>& files);
|
||||||
virtual const char* GetOutputExtension() { return "dmg"; }
|
virtual const char* GetOutputExtension() { return ".dmg"; }
|
||||||
virtual const char* GetInstallPrefix() { return ".app/Contents/Resources"; }
|
virtual const char* GetInstallPrefix() { return ".app/Contents/Resources"; }
|
||||||
|
|
||||||
//bool CopyCreateResourceFile(const char* name, const char* dir);
|
//bool CopyCreateResourceFile(const char* name, const char* dir);
|
||||||
|
|
|
@ -42,7 +42,7 @@ protected:
|
||||||
virtual int InitializeInternal();
|
virtual int InitializeInternal();
|
||||||
int CompressFiles(const char* outFileName, const char* toplevel,
|
int CompressFiles(const char* outFileName, const char* toplevel,
|
||||||
const std::vector<std::string>& files);
|
const std::vector<std::string>& files);
|
||||||
virtual const char* GetOutputExtension() { return "dmg"; }
|
virtual const char* GetOutputExtension() { return ".dmg"; }
|
||||||
virtual const char* GetOutputPostfix() { return "darwin"; }
|
virtual const char* GetOutputPostfix() { return "darwin"; }
|
||||||
virtual const char* GetInstallPrefix() { return "/usr"; }
|
virtual const char* GetInstallPrefix() { return "/usr"; }
|
||||||
|
|
||||||
|
|
|
@ -41,7 +41,7 @@ protected:
|
||||||
const std::vector<std::string>& files);
|
const std::vector<std::string>& files);
|
||||||
virtual int InitializeInternal();
|
virtual int InitializeInternal();
|
||||||
int GenerateHeader(std::ostream* os);
|
int GenerateHeader(std::ostream* os);
|
||||||
virtual const char* GetOutputExtension() { return "sh"; }
|
virtual const char* GetOutputExtension() { return ".sh"; }
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -44,7 +44,7 @@ protected:
|
||||||
virtual int GenerateHeader(std::ostream* os);
|
virtual int GenerateHeader(std::ostream* os);
|
||||||
int CompressFiles(const char* outFileName, const char* toplevel,
|
int CompressFiles(const char* outFileName, const char* toplevel,
|
||||||
const std::vector<std::string>& files);
|
const std::vector<std::string>& files);
|
||||||
virtual const char* GetOutputExtension() { return "tar.gz"; }
|
virtual const char* GetOutputExtension() { return ".tar.gz"; }
|
||||||
|
|
||||||
bool Compress;
|
bool Compress;
|
||||||
};
|
};
|
||||||
|
|
|
@ -65,6 +65,34 @@ int cmCPackTarBZip2Generator::InitializeInternal()
|
||||||
return this->Superclass::InitializeInternal();
|
return this->Superclass::InitializeInternal();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
int cmCPackTarBZip2Generator::BZip2File(const char* packageDirFileName)
|
||||||
|
{
|
||||||
|
int retVal = 0;
|
||||||
|
cmOStringStream dmgCmd1;
|
||||||
|
dmgCmd1 << "\"" << this->GetOption("CPACK_INSTALLER_PROGRAM")
|
||||||
|
<< "\" \"" << packageDirFileName
|
||||||
|
<< "\"";
|
||||||
|
retVal = -1;
|
||||||
|
std::string output;
|
||||||
|
int res = cmSystemTools::RunSingleCommand(dmgCmd1.str().c_str(), &output,
|
||||||
|
&retVal, 0, this->GeneratorVerbose, 0);
|
||||||
|
if ( !res || retVal )
|
||||||
|
{
|
||||||
|
std::string tmpFile = this->GetOption("CPACK_TOPLEVEL_DIRECTORY");
|
||||||
|
tmpFile += "/CompressBZip2.log";
|
||||||
|
cmGeneratedFileStream ofs(tmpFile.c_str());
|
||||||
|
ofs << "# Run command: " << dmgCmd1.str().c_str() << std::endl
|
||||||
|
<< "# Output:" << std::endl
|
||||||
|
<< output.c_str() << std::endl;
|
||||||
|
cmCPackLogger(cmCPackLog::LOG_ERROR, "Problem running BZip2 command: "
|
||||||
|
<< dmgCmd1.str().c_str() << std::endl
|
||||||
|
<< "Please check " << tmpFile.c_str() << " for errors" << std::endl);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
int cmCPackTarBZip2Generator::CompressFiles(const char* outFileName,
|
int cmCPackTarBZip2Generator::CompressFiles(const char* outFileName,
|
||||||
const char* toplevel, const std::vector<std::string>& files)
|
const char* toplevel, const std::vector<std::string>& files)
|
||||||
|
@ -80,27 +108,11 @@ int cmCPackTarBZip2Generator::CompressFiles(const char* outFileName,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
cmOStringStream dmgCmd1;
|
if(!this->BZip2File(packageDirFileName.c_str()))
|
||||||
dmgCmd1 << "\"" << this->GetOption("CPACK_INSTALLER_PROGRAM")
|
|
||||||
<< "\" \"" << packageDirFileName
|
|
||||||
<< "\"";
|
|
||||||
retVal = -1;
|
|
||||||
int res = cmSystemTools::RunSingleCommand(dmgCmd1.str().c_str(), &output,
|
|
||||||
&retVal, toplevel, this->GeneratorVerbose, 0);
|
|
||||||
if ( !res || retVal )
|
|
||||||
{
|
{
|
||||||
std::string tmpFile = this->GetOption("CPACK_TOPLEVEL_DIRECTORY");
|
|
||||||
tmpFile += "/CompressBZip2.log";
|
|
||||||
cmGeneratedFileStream ofs(tmpFile.c_str());
|
|
||||||
ofs << "# Run command: " << dmgCmd1.str().c_str() << std::endl
|
|
||||||
<< "# Output:" << std::endl
|
|
||||||
<< output.c_str() << std::endl;
|
|
||||||
cmCPackLogger(cmCPackLog::LOG_ERROR, "Problem running BZip2 command: "
|
|
||||||
<< dmgCmd1.str().c_str() << std::endl
|
|
||||||
<< "Please check " << tmpFile.c_str() << " for errors" << std::endl);
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string compressOutFile = packageDirFileName + ".bz2";
|
std::string compressOutFile = packageDirFileName + ".bz2";
|
||||||
if ( !cmSystemTools::SameFile(compressOutFile.c_str(), outFileName ) )
|
if ( !cmSystemTools::SameFile(compressOutFile.c_str(), outFileName ) )
|
||||||
{
|
{
|
||||||
|
|
|
@ -39,8 +39,8 @@ protected:
|
||||||
virtual int InitializeInternal();
|
virtual int InitializeInternal();
|
||||||
int CompressFiles(const char* outFileName, const char* toplevel,
|
int CompressFiles(const char* outFileName, const char* toplevel,
|
||||||
const std::vector<std::string>& files);
|
const std::vector<std::string>& files);
|
||||||
virtual const char* GetOutputExtension() { return "tar.bz2"; }
|
virtual const char* GetOutputExtension() { return ".tar.bz2"; }
|
||||||
|
int BZip2File(const char* filename);
|
||||||
int RenameFile(const char* oldname, const char* newname);
|
int RenameFile(const char* oldname, const char* newname);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -39,7 +39,7 @@ protected:
|
||||||
virtual int InitializeInternal();
|
virtual int InitializeInternal();
|
||||||
int CompressFiles(const char* outFileName, const char* toplevel,
|
int CompressFiles(const char* outFileName, const char* toplevel,
|
||||||
const std::vector<std::string>& files);
|
const std::vector<std::string>& files);
|
||||||
virtual const char* GetOutputExtension() { return "tar.Z"; }
|
virtual const char* GetOutputExtension() { return ".tar.Z"; }
|
||||||
|
|
||||||
int RenameFile(const char* oldname, const char* newname);
|
int RenameFile(const char* oldname, const char* newname);
|
||||||
int GenerateHeader(std::ostream* os);
|
int GenerateHeader(std::ostream* os);
|
||||||
|
|
|
@ -48,7 +48,7 @@ protected:
|
||||||
virtual int InitializeInternal();
|
virtual int InitializeInternal();
|
||||||
int CompressFiles(const char* outFileName, const char* toplevel,
|
int CompressFiles(const char* outFileName, const char* toplevel,
|
||||||
const std::vector<std::string>& files);
|
const std::vector<std::string>& files);
|
||||||
virtual const char* GetOutputExtension() { return "zip"; }
|
virtual const char* GetOutputExtension() { return ".zip"; }
|
||||||
|
|
||||||
int ZipStyle;
|
int ZipStyle;
|
||||||
};
|
};
|
||||||
|
|
|
@ -37,8 +37,8 @@ normal binary release with use as the root of the tree:
|
||||||
|
|
||||||
Here is the bootstrap command used:
|
Here is the bootstrap command used:
|
||||||
|
|
||||||
${SOURCE_DIR}/bootstrap --prefix=${PREFIX} --datadir=/share/${PKG}-${VER} \
|
${SOURCE_DIR}/bootstrap --prefix=/usr --datadir=/share/cmake-${VER} \
|
||||||
--docdir=/share/doc/${PKG}-${VER} --mandir=/share/man
|
--docdir=/share/doc/cmake-${VER} --mandir=/share/man
|
||||||
|
|
||||||
CMAKE_DOC_DIR /share/doc/${PKG}-${VER}
|
CMAKE_DOC_DIR /share/doc/${PKG}-${VER}
|
||||||
CMAKE_MAN_DIR /share/man
|
CMAKE_MAN_DIR /share/man
|
||||||
|
|
|
@ -14,9 +14,9 @@ MESSAGE(STATUS "Using curses version: libncurses${MAX}")
|
||||||
CONFIGURE_FILE("${CMake_SOURCE_DIR}/Utilities/Release/Cygwin/cygwin-setup.hint.in"
|
CONFIGURE_FILE("${CMake_SOURCE_DIR}/Utilities/Release/Cygwin/cygwin-setup.hint.in"
|
||||||
"${CMake_BINARY_DIR}/setup.hint")
|
"${CMake_BINARY_DIR}/setup.hint")
|
||||||
CONFIGURE_FILE("${CMake_SOURCE_DIR}/Utilities/Release/Cygwin/README.cygwin.in"
|
CONFIGURE_FILE("${CMake_SOURCE_DIR}/Utilities/Release/Cygwin/README.cygwin.in"
|
||||||
"${CMake_BINARY_DIR}/Docs/@CYGWIN_PACKAGE_NAME@-@CPACK_CYGWIN_PATCH_NUMBER@.README")
|
"${CMake_BINARY_DIR}/Docs/@CPACK_PACKAGE_FILE_NAME@-@CPACK_CYGWIN_PATCH_NUMBER@.README")
|
||||||
INSTALL_FILES(/share/doc/Cygwin FILES
|
INSTALL_FILES(/share/doc/Cygwin FILES
|
||||||
${CMake_BINARY_DIR}/Docs/@CYGWIN_PACKAGE_NAME@-@CPACK_CYGWIN_PATCH_NUMBER@.README
|
${CMake_BINARY_DIR}/Docs/@CPACK_PACKAGE_FILE_NAME@-@CPACK_CYGWIN_PATCH_NUMBER@.README
|
||||||
)
|
)
|
||||||
CONFIGURE_FILE("${CMake_SOURCE_DIR}/Utilities/Release/Cygwin/cygwin-package.sh.in"
|
CONFIGURE_FILE("${CMake_SOURCE_DIR}/Utilities/Release/Cygwin/cygwin-package.sh.in"
|
||||||
${CPACK_CYGWIN_BUILD_SCRIPT})
|
${CPACK_CYGWIN_BUILD_SCRIPT})
|
||||||
|
|
|
@ -16,22 +16,22 @@ Canonical download:
|
||||||
------------------------------------
|
------------------------------------
|
||||||
|
|
||||||
Build instructions:
|
Build instructions:
|
||||||
unpack @CYGWIN_SRC_PACKAGE_NAME@.tar.bz2
|
unpack @CPACK_PACKAGE_FILE_NAME@-@CPACK_CYGWIN_PATCH_NUMBER@-src.tar.bz2
|
||||||
if you use setup to install this src package, it will be
|
if you use setup to install this src package, it will be
|
||||||
unpacked under /usr/src automatically
|
unpacked under /usr/src automatically
|
||||||
cd /usr/src
|
cd /usr/src
|
||||||
./@CYGWIN_PACKAGE_NAME@.sh
|
./@CPACK_PACKAGE_FILE_NAME@-@CPACK_CYGWIN_PATCH_NUMBER@.sh all
|
||||||
|
|
||||||
This will create:
|
This will create:
|
||||||
/usr/src/@CYGWIN_PACKAGE_NAME@.tar.bz2
|
/usr/src/@CPACK_PACKAGE_FILE_NAME@.tar.bz2
|
||||||
/usr/src/@CYGWIN_SRC_PACKAGE_NAME@.tar.bz2
|
/usr/src/@CPACK_PACKAGE_FILE_NAME@-@CPACK_CYGWIN_PATCH_NUMBER@-src.tar.bz2
|
||||||
|
|
||||||
-------------------------------------------
|
-------------------------------------------
|
||||||
|
|
||||||
Port Notes:
|
Port Notes:
|
||||||
|
|
||||||
The directory /usr/share/@CPACK_CYGWIN_NAME@/include is purposely not
|
The directory /usr/share/@CPACK_PACKAGE_FILE_NAME@/include is purposely not
|
||||||
located at /usr/include/@CPACK_CYGWIN_NAME@ or /usr/include/cmake. The
|
located at /usr/include/@CPACK_PACKAGE_FILE_NAME@ or /usr/include/cmake. The
|
||||||
files it contains are not meant for inclusion in any C or C++ program.
|
files it contains are not meant for inclusion in any C or C++ program.
|
||||||
They are used for compiling dynamically loadable CMake commands inside
|
They are used for compiling dynamically loadable CMake commands inside
|
||||||
projects that provide them. CMake will automatically provide the
|
projects that provide them. CMake will automatically provide the
|
||||||
|
|
|
@ -1,13 +1,90 @@
|
||||||
tdir=`pwd`
|
TOP_DIR=`cd \`echo "$0" | sed -n '/\//{s/\/[^\/]*$//;p;}'\`;pwd`
|
||||||
tar xvfj @CYGWIN_SRC_PACKAGE_NAME@.tar.bz2 &&
|
|
||||||
cd @CYGWIN_SRC_PACKAGE_NAME@ &&
|
|
||||||
mkdir .build &&
|
|
||||||
cd .build &&
|
|
||||||
../bootstrap --parallel=2 &&
|
|
||||||
make -j2 &&
|
|
||||||
make test &&
|
|
||||||
./bin/cpack &&
|
|
||||||
./bin/cpack --config CPackSourceConfig.cmake
|
|
||||||
|
|
||||||
mv @CYGWIN_SRC_PACKAGE_NAME@-@CPACK_CYGWIN_PATCH_NUMBER@-src.tar.bz2 "$tdir"
|
# create build directory
|
||||||
mv @CYGWIN_PACKAGE_NAME@-@CPACK_CYGWIN_PATCH_NUMBER@.tar.bz2 "$tdir"
|
mkdirs()
|
||||||
|
{
|
||||||
|
(
|
||||||
|
mkdir -p "$TOP_DIR/@CPACK_PACKAGE_FILE_NAME@/.build"
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
# cd into
|
||||||
|
# untar source tree and apply patch
|
||||||
|
prep()
|
||||||
|
{
|
||||||
|
(
|
||||||
|
cd "$TOP_DIR" &&
|
||||||
|
tar xvfj @CPACK_PACKAGE_FILE_NAME@.tar.bz2
|
||||||
|
patch -p0 < "@CPACK_PACKAGE_FILE_NAME@-@CPACK_CYGWIN_PATCH_NUMBER@.patch" &&
|
||||||
|
mkdirs
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
conf()
|
||||||
|
{
|
||||||
|
(
|
||||||
|
cd "$TOP_DIR/@CPACK_PACKAGE_FILE_NAME@/.build" &&
|
||||||
|
../bootstrap --parallel=2
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
build()
|
||||||
|
{
|
||||||
|
(
|
||||||
|
cd "$TOP_DIR/@CPACK_PACKAGE_FILE_NAME@/.build" &&
|
||||||
|
make -j2 &&
|
||||||
|
make test
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
clean()
|
||||||
|
{
|
||||||
|
(
|
||||||
|
cd "$TOP_DIR/@CPACK_PACKAGE_FILE_NAME@/.build" &&
|
||||||
|
make clean
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg()
|
||||||
|
{
|
||||||
|
(
|
||||||
|
cd "$TOP_DIR/@CPACK_PACKAGE_FILE_NAME@/.build" &&
|
||||||
|
./bin/cpack &&
|
||||||
|
mv @CPACK_PACKAGE_FILE_NAME@-@CPACK_CYGWIN_PATCH_NUMBER@.tar.bz2 "$TOP_DIR"
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
spkg()
|
||||||
|
{
|
||||||
|
(
|
||||||
|
cd "$TOP_DIR/@CPACK_PACKAGE_FILE_NAME@/.build" &&
|
||||||
|
./bin/cpack --config CPackSourceConfig.cmake &&
|
||||||
|
mv @CPACK_PACKAGE_FILE_NAME@-@CPACK_CYGWIN_PATCH_NUMBER@-src.tar.bz2 "$TOP_DIR"
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
finish()
|
||||||
|
{
|
||||||
|
(
|
||||||
|
rm -rf "@CPACK_PACKAGE_FILE_NAME@"
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
case $1 in
|
||||||
|
prep) prep ; STATUS=$? ;;
|
||||||
|
mkdirs) mkdirs ; STATUS=$? ;;
|
||||||
|
conf) conf ; STATUS=$? ;;
|
||||||
|
build) build ; STATUS=$? ;;
|
||||||
|
clean) clean ; STATUS=$? ;;
|
||||||
|
package) pkg ; STATUS=$? ;;
|
||||||
|
pkg) pkg ; STATUS=$? ;;
|
||||||
|
src-package) spkg ; STATUS=$? ;;
|
||||||
|
spkg) spkg ; STATUS=$? ;;
|
||||||
|
finish) finish ; STATUS=$? ;;
|
||||||
|
all) (
|
||||||
|
prep && conf && build && pkg && spkg && finish ;
|
||||||
|
STATUS=$?
|
||||||
|
) ;;
|
||||||
|
*) echo "Error: bad argument (all or one of these: prep mkdirs conf build clean package pkg src-package spkg finish)" ; exit 1 ;;
|
||||||
|
esac
|
||||||
|
exit ${STATUS}
|
||||||
|
|
|
@ -10,6 +10,7 @@ set(RELEASE_SCRIPTS
|
||||||
dashsgi1_release.cmake # IRIX
|
dashsgi1_release.cmake # IRIX
|
||||||
dashsgi1_release64.cmake # IRIX 64
|
dashsgi1_release64.cmake # IRIX 64
|
||||||
vogon_release.cmake # Windows
|
vogon_release.cmake # Windows
|
||||||
|
discworld_cygwin.cmake # Cygwin
|
||||||
# r36n11_aix_release.cmake # AIX 5.3
|
# r36n11_aix_release.cmake # AIX 5.3
|
||||||
r15n65_aix_release.cmake # AIX 5.2
|
r15n65_aix_release.cmake # AIX 5.2
|
||||||
)
|
)
|
||||||
|
|
|
@ -76,8 +76,12 @@ configure_file(${SCRIPT_PATH}/release_cmake.sh.in ${SCRIPT_FILE} @ONLY)
|
||||||
|
|
||||||
# run the script by starting a shell on the remote machine
|
# run the script by starting a shell on the remote machine
|
||||||
# then using the script file as input to the shell
|
# then using the script file as input to the shell
|
||||||
remote_command("run release_cmake-${HOST}.sh on server"
|
IF(RUN_LOCAL)
|
||||||
"${RUN_SHELL}" ${SCRIPT_FILE})
|
message(FATAL_ERROR "run this command: ${RUN_SHELL} ${SCRIPT_FILE}")
|
||||||
|
ELSE(RUN_LOCAL)
|
||||||
|
remote_command("run release_cmake-${HOST}.sh on server"
|
||||||
|
"${RUN_SHELL}" ${SCRIPT_FILE})
|
||||||
|
ENDIF(RUN_LOCAL)
|
||||||
|
|
||||||
# now figure out which types of packages were created
|
# now figure out which types of packages were created
|
||||||
set(generators ${CPACK_BINARY_GENERATORS} ${CPACK_SOURCE_GENERATORS})
|
set(generators ${CPACK_BINARY_GENERATORS} ${CPACK_SOURCE_GENERATORS})
|
||||||
|
@ -95,6 +99,9 @@ foreach(gen ${generators})
|
||||||
if("${gen}" STREQUAL "TBZ2")
|
if("${gen}" STREQUAL "TBZ2")
|
||||||
set(SUFFIXES ${SUFFIXES} "*.tar.bz2")
|
set(SUFFIXES ${SUFFIXES} "*.tar.bz2")
|
||||||
endif("${gen}" STREQUAL "TBZ2")
|
endif("${gen}" STREQUAL "TBZ2")
|
||||||
|
if("${gen}" MATCHES "Cygwin")
|
||||||
|
set(SUFFIXES ${SUFFIXES} "*.tar.bz2")
|
||||||
|
endif("${gen}" STREQUAL "Cygwin")
|
||||||
if("${gen}" STREQUAL "TZ")
|
if("${gen}" STREQUAL "TZ")
|
||||||
set(SUFFIXES ${SUFFIXES} "*.tar.Z")
|
set(SUFFIXES ${SUFFIXES} "*.tar.Z")
|
||||||
endif("${gen}" STREQUAL "TZ")
|
endif("${gen}" STREQUAL "TZ")
|
||||||
|
|
Loading…
Reference in New Issue