You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
69 lines
2.4 KiB
69 lines
2.4 KiB
16 years ago
|
cpack.cxx
|
||
|
|
||
|
cmCPackGenerators -- creates cmCPackGenericGenerator's via NewGenerator
|
||
|
- a cmCPackGenericGenerator factory
|
||
|
|
||
|
|
||
|
cmCPackGenericGenerator::Initialize
|
||
|
this->InitializeInternal
|
||
|
CPACK_INCLUDE_TOPLEVEL_DIRECTORY = 0 turns off
|
||
|
|
||
|
|
||
|
// binary package run
|
||
|
cmCPackGenericGenerator::ProcessGenerator // DoPackage
|
||
|
cmCPackGenericGenerator::PrepareNames -- sets a bunch of CPACK_vars
|
||
|
cmCPackGenericGenerator::InstallProject
|
||
|
run preinstall (make preinstall/fast)
|
||
|
call ReadListFile(cmake_install.cmake)
|
||
|
glob recurse in install directory to get list of files
|
||
|
this->CompressFiles with the list of files
|
||
|
|
||
|
|
||
|
// source package run
|
||
|
cmCPackGenericGenerator::ProcessGenerator // DoPackage
|
||
|
cmCPackGenericGenerator::PrepareNames -- sets a bunch of CPACK_vars
|
||
|
cmCPackGenericGenerator::InstallProject -->
|
||
|
if set CPACK_INSTALLED_DIRECTORIES
|
||
|
glob the files in that directory
|
||
|
copy those files to the tmp install directory _CPack something
|
||
|
glob recurse in install directory to get list of files
|
||
|
this->CompressFiles with the list of files
|
||
|
|
||
|
|
||
|
cmCPackGenericGenerator::InstallProject is used for both source and binary
|
||
|
packages. It is controled based on values set in CPACK_ variables.
|
||
|
|
||
|
|
||
|
InstallProject
|
||
|
1. CPACK_INSTALL_COMMANDS - a list of commands used to install the package
|
||
|
|
||
|
2. CPACK_INSTALLED_DIRECTORIES - copy this directory to CPACK_TEMPORARY_DIRECTORY
|
||
|
|
||
|
3. CPACK_INSTALL_CMAKE_PROJECTS - a cmake install script
|
||
|
- run make preinstall
|
||
|
- run cmake_install.cmake
|
||
|
- set CMAKE_INSTALL_PREFIX to the temp directory
|
||
|
- CPACK_BUILD_CONFIG check this and set the BUILD_TYPE to it
|
||
|
- ReadListFile on the install script cmake_install.cmake
|
||
|
- run strip on the executables and libraries if CPACK_STRIP_FILES is TRUE
|
||
|
|
||
|
Recommendations:
|
||
|
|
||
|
rename cmCPackGenerators to cmCPackGeneratorFactory
|
||
|
|
||
|
rename cmCPackGenericGenerator --> cmCPackGenerator
|
||
|
|
||
|
rename cmCPackGenericGenerator::ProcessGenerator -> cmCPackGenerator::DoPackage
|
||
|
|
||
|
|
||
|
break up cmCPackGenerator::InstallProject so it calls the following:
|
||
|
|
||
|
// run user provided install commands
|
||
|
cmCPackGenerator::RunInstallCommands();
|
||
|
// copy entire directories that need no processing like source trees
|
||
|
cmCPackGenerator::CopyPreInstalledDirectories();
|
||
|
// run the cmake install scripts if provided
|
||
|
cmCPackGenerator::RunCMakeInstallScripts()
|
||
|
|
||
|
-
|