CMake/Source/CPack/bills-comments.txt
Kitware Robot 7bbaa4283d Remove trailing whitespace from most CMake and C/C++ code
Our Git commit hooks disallow modification or addition of lines with
trailing whitespace.  Wipe out all remnants of trailing whitespace
everywhere except third-party code.

Run the following shell code:

git ls-files -z -- \
 bootstrap doxygen.config '*.readme' \
 '*.c' '*.cmake' '*.cpp' '*.cxx' \
 '*.el' '*.f' '*.f90' '*.h' '*.in' '*.in.l' '*.java' \
 '*.mm' '*.pike' '*.py' '*.txt' '*.vim' |
egrep -z -v '^(Utilities/cm|Source/(kwsys|CursesDialog/form)/)' |
egrep -z -v '^(Modules/CPack\..*\.in)' |
xargs -0 sed -i 's/ \+$//'
2012-08-13 14:18:39 -04:00

69 lines
2.4 KiB
Plaintext

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()
-