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 _______________________________________________ cmake-developers mailing list [email protected] http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
