[CMake] Support for multiple components in cpack (reloaded)
Eric Noulard
eric.noulard at gmail.com
Sun Aug 22 12:28:13 EDT 2010
2010/8/22 Eric Noulard <eric.noulard at gmail.com>:
> 2010/8/22 Rolf Eike Beer <eike at sf-mail.de>:
>> Am Saturday 21 August 2010 schrieb Eric Noulard:
>>
>>> 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)
>>
>> AFAICS those are exlusive, so why don't you use a single variable with 3
>> different values that prints a big fat warning if it is set to anything else to
>> make error detection easier?
>
> Yes they are exclusive.
> I think the main reason for separate variables is because its "usually" the way
> it works with CPack/CMake there are more toggle var 0/1 than switches
> values vars.
>
> But this is a good point what do you suggest:
>
> CPACK_COMPONENTS_GROUPING
> with possible values:
> ALL_GROUP_IN_ONE
> ALL_COMPONENT_IN_ONE
> IGNORE_GROUP
Hi Rolf,
I do update my patchset with your proposal now you can
cpack -D CPACK_COMPONENTS_GROUPING=<grouping-option> -G <GEN>
if the <grouping-option> is not recognized you'll get a warning.
the previous 3.a/3.b/3.c variables may be used too.
We may keep them both or decide what is the better way to go after some tests.
The new patch
0003-CPackArchiveGenerator-improve-usability-and-robustne.patch
is on the bug page:
http://public.kitware.com/Bug/view.php?id=10736
Github repo has been updated too:
http://github.com/TheErk/CMake/tree/CPackArchiveGenerator-ComponentSupport
The patch also fix the case where components are defined but
no component groups are defined, in this case we build 1 package per component
instead of 1 package per group.
--
Erk
Membre de l'April - « promouvoir et défendre le logiciel libre » -
http://www.april.org
More information about the CMake
mailing list