[CMake] cpack components & archive generators

Eric Noulard eric.noulard at gmail.com
Mon Feb 7 18:10:10 EST 2011


2011/2/7 Clinton Stimpson <clinton at elemtech.com>:
> 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."

No there no "config" issue.
Just a silly idea of mine to differentiate package type from name
and OK you are right adding -ALL is a bad idea.

> 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.

Yes right again, even if NSIS always generate a single file.

But you are right, I'm convinced that this was a non-sense idea,
I'll remove the -ALL suffix the idea was just a bad idea.

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

No you are right I will remove the ALL suffix, I hope I'll get a chance
to do it before 2.8.4 is released.

>> 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?

OK again that's a very pertinent remark.
I'll use *_DISPLAY_NAME if they are defined and then the previous
scheme if they don't.

The only possible drawback would be to get filename with embedded whitespace,
which is unusual (and sometime anoying) on Unix for die-hard command line user
because you'll have to escape them.

What do you think?

I'll try to work on this later during this week
(after the next --> master turn-around because I already have 2 patchset
 in the pipe) or may be you'd like to propose a patch yourself ?

Could you file a bug report concerning this naming scheme issue,
I'll assign it to me right after.

Thank you very much for your remark.

-- 
Erk
Membre de l'April - « promouvoir et défendre le logiciel libre » -
http://www.april.org


More information about the CMake mailing list