[CMake] cpack components & archive generators

Clinton Stimpson clinton at elemtech.com
Mon Feb 7 16:33:47 EST 2011


On Monday, February 07, 2011 01:38:22 pm Eric Noulard wrote:
> 2011/2/7 Clinton Stimpson <clinton at elemtech.com>:
> > Is there a reason the archive generators append "-ALL" to the package
> > file name I specify when I set CPACK_COMPONENTS_ALL_IN_ONE_PACKAGE=1?
> > 
> > Can we leave that to the user to decide if they want "-ALL" by putting it
> > in CPACK_PACKAGE_FILE_NAME?
> 
> Yes there is.
> It is to makes it clear that your requested a ALL-IN-ONE package
> mainly because *-ALL packages may not have the same content as MONOLITHIC
> which do not get the extra "-ALL".

I know what I'm asking for :)  A subset of components go into one package file.

I was wondering if there was some issue such as one config file generating both 
all-in-one and monolith packages, in which case a filename distinction might be 
necessary.  If separate config files are necessary, or if one can control this 
in CPACK_PROJECT_CONFIG_FILE, then I don't really see a need for adding "-
ALL."

By the way, I think "-ALL" could be misleading because it may not contain all 
components (only the ones given in CPACK_COMPONENTS_ALL) where the monolith 
package will include them all.  Also, "-ALL" isn't added when I use the NSIS 
generator with the same config file.

But, I could add a step of renaming the files I get out of it.

> If you use 2.8.4-rcX you will be able to use CPACK_MONOLITHIC_INSTALL
> http://www.cmake.org/Wiki/CMake:Component_Install_With_CPack#Controlling_Di
> fferents_Ways_of_packaging_components in order to get ALL-IN-ONE package
> without the extra -ALL.
> 
> CPACK_MONOLITHIC_INSTALL is now handled at CPack time too so that
> you can get monolothic install on a "per-generator" basis if you use
> a CPACK_PROJECT_CONFIG_FILE
> see:
> http://www.cmake.org/Wiki/CMake:CPackPackageGenerators#Overall_usage_.28com
> mon_to_all_generators.29
> Now we can makes it easier fo control the name mangling scheme of
> the multi-files component generators (Archive, RPM and the next to come)
> if you have some proposal in mind please go ahead.
> 
> Currently the naming scheme is:
> ${CPACK_PACKAGE_FILE_NAME}-ALL.<ext> for "ALL-IN-ONE" package
> ${CPACK_PACKAGE_FILE_NAME}-<ComponentName>.<ext> for the 1 file per
> component case
> ${CPACK_PACKAGE_FILE_NAME}-<ComponentName>.<ext> for the 1 file per
> component group case
> 
> We can add some extra vars to control the name mangling scheme for
> ALL cases.

Or just use the already existing *_DISPLAY_NAME variables?

-- 
Clinton Stimpson
Elemental Technologies, Inc
Computational Simulation Software, LLC
www.csimsoft.com


More information about the CMake mailing list