CMake/Source/CPack/bills-comments.txt

69 lines
2.4 KiB
Plaintext
Raw Normal View History

2006-06-09 21:45:09 +04:00
cpack.cxx
cmCPackGenerators -- creates cmCPackGenericGenerator's via NewGenerator
2006-06-09 21:45:09 +04:00
- a cmCPackGenericGenerator factory
cmCPackGenericGenerator::Initialize
this->InitializeInternal
CPACK_INCLUDE_TOPLEVEL_DIRECTORY = 0 turns off
2006-06-09 21:45:09 +04:00
// binary package run
cmCPackGenericGenerator::ProcessGenerator // DoPackage
cmCPackGenericGenerator::PrepareNames -- sets a bunch of CPACK_vars
cmCPackGenericGenerator::InstallProject
2006-06-09 21:45:09 +04:00
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 -->
2006-06-09 21:45:09 +04:00
if set CPACK_INSTALLED_DIRECTORIES
glob the files in that directory
2006-06-09 21:45:09 +04:00
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
2006-06-09 21:45:09 +04:00
2. CPACK_INSTALLED_DIRECTORIES - copy this directory to CPACK_TEMPORARY_DIRECTORY
3. CPACK_INSTALL_CMAKE_PROJECTS - a cmake install script
- run make preinstall
2006-06-09 21:45:09 +04:00
- 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
2006-06-09 21:45:09 +04:00
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();
2006-06-09 21:45:09 +04:00
// copy entire directories that need no processing like source trees
cmCPackGenerator::CopyPreInstalledDirectories();
2006-06-09 21:45:09 +04:00
// run the cmake install scripts if provided
cmCPackGenerator::RunCMakeInstallScripts()
2006-06-09 21:45:09 +04:00
-