[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