[CMake] Support for multiple components in cpack (reloaded)
Eric Noulard
eric.noulard at gmail.com
Sat Aug 21 08:10:04 EDT 2010
Hi All,
I finally rebased my previous work on component support for Archive Generators
(i.e. STGZ TBZ2 TGZ TZ ZIP)
(see also ML discussions:
http://www.cmake.org/pipermail/cmake/2010-July/038575.html
http://www.cmake.org/pipermail/cmake/2010-August/038663.html
http://www.cmake.org/pipermail/cmake-developers/2010-August/000413.html)
Up-to-date patches may be retrieved from
http://public.kitware.com/Bug/view.php?id=10736
or pulled from
http://github.com/TheErk/CMake/tree/CPackArchiveGenerator-ComponentSupport
(beware of the fact that this branch has been rebased so
do not try to update re-pull it from scratch)
I think this work may now be merged in CMake upstream but I need some
final testing.
The implemented features are the following:
1) ALL archive generators (STGZ TBZ2 TGZ TZ ZIP) are now
supporting component install
2) The default behavior is to generate 1 package for each COMPONENT GROUP
(see http://paraview.org/Wiki/CMake:Component_Install_With_CPack#Grouping_Components)
3) 3 new CPACK_COMPONENTS var have been introduced:
CPACK_COMPONENTS_ALL_GROUPS_IN_ONE_PACKAGE
CPACK_COMPONENTS_ALL_IN_ONE_PACKAGE
CPACK_COMPONENTS_IGNORE_GROUPS
All those vars may be set at CPack time e.g:
cpack -D CPACK_COMPONENTS_IGNORE_GROUPS=1 -G ZIP
They change the number and the contents of the generated packages:
3.a) CPACK_COMPONENTS_ALL_GROUPS_IN_ONE_PACKAGE=1
means you want to get a single package whose content
is the merge of all components GROUPS
3.b) CPACK_COMPONENTS_ALL_IN_ONE_PACKAGE=1
means you want to get a single package whose content
is the merge of all COMPONENTS
3.c) CPACK_COMPONENTS_IGNORE_GROUPS
means you want to get 1 package per COMPONENT
(the default is 1 package per GROUP)
The difference between 3.a) and 3.b) m
CPACK_COMPONENTS_ALL
--
Erk
Membre de l'April - « promouvoir et défendre le logiciel libre » -
http://www.april.org
More information about the CMake
mailing list