Hi all, There was not so much reaction about this so... I bet that currently there is not so much user of the feature so that no one cares about the change.
I did just merge the fix for the left over component thing. http://public.kitware.com/Bug/view.php?id=11930 Archive, RPM and DEB should now consistently package all components specified in CPACK_COMPONENTS_ALL. There remain "only" 3 options for multi-files component packaging: 1) default --> 1 package file per group 2) CPACK_COMPONENTS_ALL_IN_ONE --> all components specified in CPACK_COMPONENTS_ALL in a single package 3) CPACK_COMPONENTS_IGNORE_GROUPS --> 1 package file per component I did update the Wiki accordingly: http://www.cmake.org/Wiki/CMake:Component_Install_With_CPack#Controlling_Differents_Ways_of_packaging_components CPackComponentForAll tests will run for all this combination, however any further comment/feedback is welcome. 2011/3/4 Eric Noulard <[email protected]>: > Hi All, > > As of CPack 2.8.4 the component support has been added to > ArchiveGenerator and RPM > (and NSIS and PackageMaker continue to support component packaging) > As explained here; > http://www.cmake.org/Wiki/CMake:Component_Install_With_CPack#CPack_Generator_specific_behavior > > Currently NSIS and PackageMaker always generate a single package file which > may > contain nice "component" if the project did define appropriate vars. > > ArchiveGenerators and RPM (and soon Deb) > may produce a single package file or several package files depending > on user choice. > > The current rules of CPack Component: > http://www.cmake.org/Wiki/CMake:Component_Install_With_CPack#Rules > makes it clear that: > > A COMPONENT may only belong to either 0 or a single GROUP. > In CPack 2.8.3, you have 4/5 ways to package COMPONENT: > > 1) the default way : no COMPONENT or MONOLITHIC in order to maintain > backward compatibility > > 1bis) default way if COMPONENT INSTALL is enabled: > 1 package file per COMPONENT GROUP > > 2) ALL_GROUPS_IN_ONE > which means that all COMPONENT GROUPS are put in a single package file > > 3) ALL_COMPONENTS_IN_ONE > which means that all COMPONENTS are put in a single package file > > 4) IGNORE GROUPS > which means that you get 1 package file per COMPONENT > > in 1) ALL INSTALL( xxx) rules found in CMakeLists.txt are processed. > > in 2,3,4) Only the rules with COMPONENT belongings to CPACK_COMPONENTS_ALL > are processed. > > i.e. with 1bis, 2,3,4) you will only install the COMPONENT specified > in CPACK_COMPONENTS_ALL > which may only be a portion of all the INSTALL rules. > > In CPack 2.8.4, rule 1bis) and 2) do not include COMPONENT that did > not belong to a GROUP > http://public.kitware.com/Bug/view.php?id=11930 > this is now fixed (in next) for ArchiveGenerator for 1bis). > > I did not fixed it in 2) case because if I do > ALL_GROUPS_IN_ONE would be strictly equal to ALL_COMPONENTS_IN_ONE. > > What do you all think about that? > Shall I just merge ALL_GROUPS_IN_ONE and ALL_COMPONENTS_IN_ONE to > "ALL_COMPONENTS_IN_ONE", > or shall I keep the awkward behavior of ALL_GROUPS_IN_ONE > which can left over some components? > > I would be tempted to simplify the packaging ways and > get rid of "ALL_GROUPS_IN_ONE". > > > -- > Erk > Membre de l'April - « promouvoir et défendre le logiciel libre » - > http://www.april.org > -- Erk Membre de l'April - « promouvoir et défendre le logiciel libre » - http://www.april.org _______________________________________________ cmake-developers mailing list [email protected] http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
