[CMake] Support for multiple components in cpack
Ryan Pavlik
rpavlik at iastate.edu
Fri Jul 30 07:54:22 EDT 2010
On 7/30/10 6:35 AM, Eric Noulard wrote:
> Hi All,
> I'll try to launch a specific thread for this following what
>
> Kishore said:
>> I would like to see full support for multiple components in cpack.
> David answered:
>> Could you elaborate on "full support for multiple components in cpack" either in another thread,
>> or in a feature request bug in the bug tracker?
>>
>> With NSIS on Windows and PackageMaker on Mac, we already have what I would consider "full support". Are you talking about
>> extending that to additional CPack generators or is there something missing even in those generators in your opinion?
> An explanation on CPack Component may be found here:
> http://www.itk.org/Wiki/CMake:Component_Install_With_CPack
>
> As David said currently the only 2 CPack generators which support Components are
> - NSIS
> - PackageMaker
>
> I personally would like a wider support including RPM, DEB, TGZ (and
> may be ZIP and other archive-like).
> There is at least one bug/feature report/request for that for CPackRPM:
> http://public.kitware.com/Bug/view.php?id=7645
>
> From my point of view for the RPM/DEB/archive (TBZ2 TGZ TZ ZIP)
> COMPONENT installer there is two "global" options:
>
> A) Put all the components in a single archive with some hierarchical
> structure inside
> i.e. build a TGZ whose structure may be;
> toplevel-name/component1/...
> /component2/...
> etc...
>
> B) Build as many files as components.
> toplevel-name-component1.tgz
> toplevel-name-component2.tgz
> toplevel-name-component3.tgz
>
> The scheme A) is not quite usable for RPM or DEB
> but it is ok for "pure" archive like TBZ2 , TGZ, TZ, ZIP.
>
> My **personal** opinion is that for this kind of installers I'd rather
> go for B).
> The current problem with B) is that current CPack architecture does
> not authorize it see:
> http://public.kitware.com/Bug/view.php?id=10736
>
> Like I said in another mail if we tackle the "multiple file problem" we should
> be able to solve the "naming convention problem" too, see:
> http://public.kitware.com/Bug/view.php?id=9900
>
> So I would like those 2 bugs (9900, 10736)
> solved, which would enable the may-be-easy creation
> of full support for CPack COMPONENTs in any case (including bug 7645).
>
> Please comment on those ideas or indicate whether if you agree with my
> analysis or not.
> Once we have some opinions ideas on this, I'll propose a new/updated
> API for CPack generators
> concerning this.
>
I personally would like option B - at the moment I basically work around
this by making an OPTION and then putting install commands inside if
statements. (Basically, not everybody using my work will want every
part of it, and I can anticipate easily the parts that might not be
needed - the common case of a runtime system/language that also provides
a c/c++ api and headers for more advanced usage.)
Ryan
--
Ryan Pavlik
Human-Computer Interaction Graduate Student
Virtual Reality Applications Center
Iowa State University
rpavlik at iastate.edu
http://academic.cleardefinition.com/
More information about the CMake
mailing list