ENH: Start adding support for packaging component and to package into a subdirectory

This commit is contained in:
Andy Cedilnik 2006-04-14 08:58:13 -04:00
parent 0adee1e6dd
commit c836be6f7b
3 changed files with 21 additions and 2 deletions

View File

@ -69,7 +69,7 @@ ENDIF(NOT CPACK_GENERATOR)
# Set some other variables
cpack_set_if_not_set(CPACK_BINARY_DIR "${CMAKE_BINARY_DIR}")
cpack_set_if_not_set(CPACK_INSTALL_CMAKE_PROJECTS
"${CMAKE_BINARY_DIR};${CMAKE_PROJECT_NAME}")
"${CMAKE_BINARY_DIR};${CMAKE_PROJECT_NAME};ALL;/")
cpack_set_if_not_set(CPACK_CMAKE_GENERATOR "${CMAKE_GENERATOR}")
SET(_CPACK_UNUSED_VARIABLES_)

View File

@ -252,9 +252,25 @@ int cmCPackGenericGenerator::InstallProject()
it != cmakeProjectsVector.end();
++it )
{
if ( it+1 == cmakeProjectsVector.end() ||
it+2 == cmakeProjectsVector.end() ||
it+3 == cmakeProjectsVector.end() )
{
cmCPackLogger(cmCPackLog::LOG_ERROR,
"Not enough items on list: CPACK_INSTALL_CMAKE_PROJECTS. "
"CPACK_INSTALL_CMAKE_PROJECTS should hold quadruplet of install "
"directory, install project name, install component, and install "
"subdirectory."
<< std::endl);
return 0;
}
std::string installDirectory = it->c_str();
++it;
std::string installProjectName = it->c_str();
++it;
std::string installComponent = it->c_str();
++it;
std::string installSubDirectory = it->c_str();
std::string installFile = installDirectory + "/cmake_install.cmake";
const char* buildConfig = this->GetOption("CPACK_BUILD_CONFIG");

View File

@ -1,8 +1,11 @@
# This file will be configured to contain variables for CPack. These variables
# should be set in the CMake list file of the project before CPack module is
# included. Example variables are:
# CPACK_BINARY_DIR - Path to the build tree
# CPACK_GENERATOR - Generator used to create package
# CPACK_INSTALL_CMAKE_PROJECTS - For each project (path, name, component)
# CPACK_CMAKE_GENERATOR - CMake Generator used for the projects
# CPACK_INSTALL_COMMANDS - Extra commands to install components
# CPACK_INSTALL_DIRECTORIES - Extra directories to install
# CPACK_PACKAGE_DESCRIPTION_FILE - Description file for the package
# CPACK_PACKAGE_DESCRIPTION_SUMMARY - Summary of the package
# CPACK_PACKAGE_EXECUTABLES - List of pairs of executables and labels